如何获取所选表格的所有元素

问题描述:

你好我们假设我在页面上有两种形式。如何获取所选表格的所有元素

现在我想获取所有输入元素(即使它们是隐藏的)。

我现在的代码如下所示:

$("form.prev, form.next").submit(function(e){ 
     e.preventDefault(); 

     var inputs = $(this).filter(':input'); 
     console.log(inputs); 
     var values = {}; 

     inputs.each(function() { 
     values[this.name] = $(this).val(); 
    }); 

    console.log(values); 
}); 

我期待看到他们的键和值的输入元素的列表。但是console.log(values);的结果是空的对象

这里发生了什么问题?

+0

'inputs.each(函数(指数,OBJ){...'然后'值[obj.attr ('name')] = $(obj).val();' – 2014-10-28 10:41:57

不需要自己做 - serialize()函数是为此目的而发明的。

$("form.prev, form.next").submit(function(e){ 
    e.preventDefault(); 

    var data = $(this).serialize(); 
    // data is a key/value string, you can now use it in AJAX requests for example 
}); 

jQuery API - Serialize()

尝试这种情况:使用.find()代替.filter()

$("form.prev, form.next").submit(function(e){ 
     e.preventDefault(); 

     var inputs = $(this).find(':input'); 
     console.log(inputs); 
     var values = {}; 

     inputs.each(function() { 
     values[this.name] = $(this).val(); 
    }); 

    console.log(values); 
});