如何使用jquery循环遍历表格行中的所有表单元素?

4
我该如何获取表格行中的所有表单元素?每一行可能有许多个td,每个td都可能具有任意数量的输入或选择元素。
请帮忙。
5个回答

9
你应该能够做到这一点:
$('#myTableRow').find('input, select, textarea').each(function()
{
});

谢谢回复。它不会返回tr内的任何其他元素,如span和div。 - ajm
抱歉,上面的代码会选择所有元素。等我一下,我来修复它。 - Tejs
固定选择表单元素。 - Tejs

2

0
我建议:
$('table input, table textarea, table select').each(function() { ... });

0

对于表格行,您可以像这样选择所有输入:

var myInputFields = $("#myTable tr input[type='text']");

这将仅选择输入,无论它们在表行中深入多少级别 - 因此您可以拥有具有div>,p>和其他包装在input>周围的内容的行。

您可以使用jQuery.each或简单的for i = 0-> myInputFields.length循环遍历所有输入字段。

myInputFields.each(function(i,v){
   var v = $(v);
   console.debug(v.html(),v.val());
});

你可以像simoncereska的回答中的示例那样轻松地扩展选择器以支持更多的输入框/文本区域等。


0
如果您想要在特定行中获取输入: HTML
<table>
  <tr id="the_row">
    <td><input type="text" value="1"/></td>
    <td><input type="text" value="2"/></td>
  </tr>
  <tr>
    <td><input type="text" value="3"/></td>
    <td><input type="text" value="4"/></td>
  </tr>
</table>

Javascript

$("#the_row :input").each(function () {
  console.log(this.value);
});

(注意::input选择器匹配所有inputselecttextareabutton元素。)
(演示):http://jsfiddle.net/WuamV/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接