jquery如何获取表单元素类型,名称和值

我知道我可以通过使用获得名称/价值关系

$(#form).serializeArray(); 

但有没有办法通过一次通话获得整个辣酱玉米饼馅,类型,名称和价值?

使用$("form :input")

根据文档 :

说明:选择所有输入,文本区域,选择和按钮元素。

现在问你的问题,

有一种方法可以通过一次通话获得整个辣酱玉米饼馅,类型,名称和价值吗?

如果你只是想循环遍历这些项目,

 $("form :input").each(function(index, elm){ //Do something amazing... }); 

但是如果你想返回某种结构,你可以使用.map()

 var items = $("form :input").map(function(index, elm) { return {name: elm.name, type:elm.type, value: $(elm).val()}; }); 

或者,如果您只是想获得元素

 $("form :input").get() 

关于jsfiddle的例子

下面的代码有助于从表单id获取特定表单中的元素的详细信息,

 $('#formId input, #formId select').each( function(index){ var input = $(this); alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val()); } ): 

下面的代码有助于从加载页面中的所有表单中获取元素的详细信息,

 $('form input, form select').each( function(index){ var input = $(this); alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val()); } ): 

下面的代码有助于获取放置在加载页面中的元素的详细信息,即使元素没有放在标记内,

 $('input, select').each( function(index){ var input = $(this); alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val()); } ): 

注意:我们在对象列表中添加了更多元素标记名称,如下所示,

 Example: to get name of attribute "fieldset", $('input, select, fieldset').each( function(index){ var input = $(this); alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val()); } ): 

你可以循环遍历表单的每个input元素并使用从那里获得的数据吗? 像这样的东西:

 $('form input').each(function(i, v) { // Access like this: // $(this).attr('type'); // $(this).attr('value'); // $(this).attr('name'); }); 

要使用所有表单元素

 $('input, textarea, select').each(function() { // $(this).attr('type'); // $(this).attr('name'); // $(this).val(); }); 

也许children()会更有用但你仍然必须自己过滤感兴趣的元素,除非你使用选择器。

如果您只想在表单中选择successful元素,也可以执行以下操作; 这不包括按钮或禁用的字段。

 $($('#testf').serializeArray()).each(function(index, value){ $('#testf [name="' + value.name + '"]'); //select the named element }); 

马克的回答似乎是最好的方式,IMO。