3

我正在尝试获取“page-templete1”上每个输入元素的所有 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 

}

如何获取页面中所有 Input 元素的 ID、值并稍后访问它们 注意:我确实知道输入元素的 ID 或有多少。有一篇旧帖子谈论类似的问题,但没有解决我的问题

4

6 回答 6

4

根据您的“页面”是否为 id,您可能需要在选择器之前使用点或散列:

var results = [];
$('#page-templete1 input').each(function(){
    results.push({
        id: this.id,
        value: this.value
    });
});
于 2013-02-21T12:22:07.747 回答
1

试试下面的代码:

  $(function(){
    $("input").each(function(){
        alert($(this).attr('id'))
    })
    })
于 2013-02-21T12:17:18.813 回答
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});
});
于 2013-02-21T12:20:56.767 回答
0

您正在将数组分配给变量:var inputs = [];然后尝试通过引用未定义的变量来读取数组:(input.push(this);使用input而不是inputs)。

于 2013-02-21T12:21:44.653 回答
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
});
于 2013-02-21T12:24:09.467 回答
0

尝试使用 jquery 输入选择器并对其进行迭代。

尝试这样的事情

        $(function(){
             jQuery( "#pageTemplate :input" ).each(function(){
                var id = this.id;       // for id
                var value = this.value; // for value
            })
        })

注意:您必须指定您的 page-templete1 是 id 还是 class

于 2013-02-21T12:25:17.547 回答