在循环表中找到困难

时间:2015-05-24 11:01:48

标签: jquery html-table

我想获取所有<input>,选择表中列内的名称和所有数据属性。我卡住了,我的桌子循环从第5行开始,而不是从第2行开始;

var rowNo = jQuery(this).attr("data-row");
jQuery("#example1 table tbody").find('tr').each(function (key, value) {
    jQuery(this).find('td').each(function (key, val) {
        var tName = jQuery(this).find('input,select').attr('name');
        console.log(tName);
    });
});

<div id="example1">
<table id="Invoice">
    <tbody>
        <tr class="header_table">
            <th></th>
            <th>InvoiceNo</th>
            <th>InvoiceDate</th>
       </tr>
        <tr class="even" name="tr_2">
            <td><i class="fa fa-trash-o icon-class" data-row="2"></i></td>
            <td><input data-cols="1" data-row="2" name="input_[2][InvoiceNo]" type="text"></td>
            <td><input data-cols="2" data-row="2" name="input_[2][InvoiceDate]" type="text"></td>
        </tr>
         .....
         ...
    </tbody>
</table>
</div>

输出

"select_[5][Supplier]"
"input_[5][Description]"
"input_[5][Serial]"
"select_[5][AssetType]"
"select_[5][PurchasePrice]"
"input_[5][PONumber]"

测试了我的html表

  jQuery("table").find('tr').each(function(key,value){
                jQuery(this).find('th,td').each(function(key1,val){
                    console.log(key1);
                });
            });

我输出为:

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
.
...

...

.. 

1 个答案:

答案 0 :(得分:2)

来自评论

  

我想从表中检索所有td数据

我将其翻译为&#34;我希望在表格的所有输入字段中收集所有数据&#34;

这看起来很简单:

var data = {};
jQuery("#example1 table input").each(function () {
    data[this.name] = this.value;
});

这将生成一个带有键和值的对象,以便进一步处理。

如果data直接传输到服务器,它就像

一样简单
var data = jQuery("#example1 table").serialize();

$.post("url", data);