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

时间:2011-09-14 12:01:04

标签: jquery

如何获取表格行中的所有表单元素?每行可以有许多tds,每个td都有任意数量的输入或选择元素。

请帮忙。

5 个答案:

答案 0 :(得分:8)

你应该可以这样做:

$('#myTableRow').find('input, select, textarea').each(function()
{
});

答案 1 :(得分:2)

试试这个 -

$("table tr :input").each(function () {
    //your logic here
    //alert(this.tagName)
}) 

工作演示 - http://jsfiddle.net/ipr101/qMS7P/

答案 2 :(得分:0)

我建议:

$('table input, table textarea, table select').each(function() { ... });

答案 3 :(得分:0)

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

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

这将只选择输入,无论表格行深入多少级别 - 因此您可以拥有包含div> s,p> s的行以及包含在输入> s内的其他内容。

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

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

您可以像simoncereska的答案中的示例一样轻松地扩展选择器以获得更多输入/文本等。

答案 4 :(得分: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元素匹配)

DEMO http://jsfiddle.net/WuamV/