-4

我有一个表格,里面有 10 个输入标签。每个标签都有不同的 id 属性..我想一次获取并打印所有 id..你能帮我解决这个问题吗

4

6 回答 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.getArray.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 回答