如何迭代tr下的所有th并在jquery中获取它们的值?

时间:2013-12-30 16:01:07

标签: jquery

我有一个由多个表共享的gridview,所以我在后面的代码中动态生成它。我还在每列下创建了一个过滤器。以下是gridview的html代码。

<table id=”GridView1”…>
<tbody>
<tr>
<th>
    <span>
    Text-Column1
    <br/>
    <input name=”GridView1$ctl01$txtFilter_Column1” id=”txtFilter_Column1” type=”text” value=”110”/>
<th>
    <span>
    Text-Column2
    <br/>
    <input name=”GridView1$ctl01$txtFilter_Column2” id=”txtFilter_Column2” type=”text” />

... 对于每个过滤器,我需要添加一个更改事件,以根据所有过滤器的当前值刷新gridview。以下是我的jquery代码。我的问题是,由于列和相应名称的数量因表格而异,如何更改函数以迭代th并获取列名称和值?

$(myself.get_element()).find("input[id^='txtFilter_']").each(
            function () {
                var input = $(this);

                input.change(
                function () {
                    var filter;                    
                    var col1 = input.closest('tr').find('th')[1].innerText.replace('&nbsp;', '');
                    var col2 = input.closest('tr').find('th')[2].innerText.replace('&nbsp;', '');
                    filter = "Column1 LIKE '" + col1 + "%' AND Column2 LIKE '" + col2 + "%'";

                    $("#hfFilter").val(filter);
                    $("#btnRefresh").click();
                });
            }
        );

1 个答案:

答案 0 :(得分:0)

您可以$('Gridview1 tr').children('th').each(function(){ $(this).text()});查找所有孩子的价值。