我有一个表格,里面有 10 个输入标签。每个标签都有不同的 id 属性..我想一次获取并打印所有 id..你能帮我解决这个问题吗
问问题
73 次
6 回答
2
这应该适合你:
var ids = [];
$('.your-form input').each(function(){
ids.push(this.id);
});
console.log(ids.join(', '));
它在这里工作 - http://jsfiddle.net/cy7wA/1/
于 2013-06-07T11:11:22.640 回答
2
最好的方法是使用$.fn.map
,$.fn.get
和Array.prototype.join
:
var ids = $('#form input').map(function() {
return this.id
}).get().join(', ');
这将得到一个很好的列表,ids
没有任何不必要的逗号或你有什么。
于 2013-06-07T11:15:23.677 回答
0
请看一下http://jsfiddle.net/2dJAN/62/
$(':input').each(function(){
alert($(this).attr('id'));
});
于 2013-06-07T11:20:05.583 回答
0
快速回答:您可以轻松使用 jQuery 的“序列化”功能快速抓取表单上的所有元素并将它们放入键/值数组中:
function getVals()
{
var myform = document.getElementById("formfoo");
var mydata = myform.serialize();
var myhtml = "";
for ( key in mydata )
{
myhtml += "KEY IS: " + key + " VAL IS: " + mydata[key] + "<br />";
}
document.getElementById("mytestdiv").innerHTML = myhtml;
return true;
}
它的代码比其他示例多一些,但我喜欢使用单个对象。
于 2013-06-07T11:28:10.050 回答
0
$('#form_id').find('input').each(function(){
console.log($(this).attr('id'));
});
于 2013-06-07T11:12:21.257 回答
0
试试这样:
$('#myForm :input').each(function ()
{
Console.log('ID: ' + $(this).attr('id'));
});
或者
$ids = $('#myform input[id]').map(function() {
return this.id;
}).get();
于 2013-06-07T11:12:39.347 回答