JQuery:获取所有输入元素的ID和值

3

我试图获取“page-template1”页面上每个输入元素的ID和值,但没有成功。

function Temp1() {          

var input = [];

$('page-templete1 input[name][id][value]').each(function(){


input.push(this);
cc=$(this).attr('id'));
 alert(cc); // trying to get one at time (not working)});
alert(input[0].id); // not working

alert(input[0].attr('id')); // not working

});

alert(input[0].id); // not working

alert(input[0].attr('id')); // not working 

如何获取网页中所有输入元素的 ID 和 value,并在稍后访问它们?

注意:我不知道输入元素的 ID 或数量。有一篇旧文章谈到了类似的问题,但没有解决我的问题。


尝试从选择器中删除[name][id][value] - Hugo Alves
6个回答

5

根据您的“页面”是否为id,您可能需要在选择器前加上点号或井号:

var results = [];
$('#page-templete1 input').each(function(){
    results.push({
        id: this.id,
        value: this.value
    });
});

如果你想将结果作为模型发送到控制器,你应该尝试将 id: this.id, 替换为 name: this.id, - Sylwia M

1

请尝试以下代码:

  $(function(){
    $("input").each(function(){
        alert($(this).attr('id'))
    })
    })

0
你正在将一个数组赋值给一个变量:var inputs = [];,然后尝试通过引用未定义的变量来读取该数组:input.push(this);(使用input而不是inputs)。


0
var inputs = [];
$('page-templete1 input').each(function(){
    var id=$(this).attr('id'),
        val = $(this).val();
    alert("id: " + id + " with value: "+ val);
    inputs.push({id:id, value:val});
});

0

serializeArray会帮助你 尝试这样做:

var array = jQuery('your input selector').serializeArray();

结果将会是

array{{name="", value=""})

要访问,请尝试这个

var array = jQuery('input').serializeArray();
array.each(function(obj){
    //do what with your object
});

什么是“数组”结构,我如何访问其中的元素? - Diaa Saada

0
尝试使用jQuery输入选择器并对其进行迭代。
类似这样的尝试。
        $(function(){
             jQuery( "#pageTemplate :input" ).each(function(){
                var id = this.id;       // for id
                var value = this.value; // for value
            })
        })

注意:您必须指定您的页面模板1是ID还是类


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接