jQuery Table只调用td值文本

时间:2012-11-22 11:27:40

标签: jquery html-table

我有一张桌子(id =“deneme”)。

我需要遍历td值,确定用户检查了哪些复选框,对于带有复选框的行,请获取中间列的唯一文本(文字)的值。

也许对于第一个字母可以定义一个算法。

<table id="docsTable">
    <tr bgcolor="#E7DDCC" class="liste-0">
        <td align="center"><input type="checkbox"/></td>
        <td>Document Title 1</td>
        <td>567</td>
    </tr>
    <tr bgcolor="#E7DDCC">
        <td align="center"><input type="checkbox"/></td>
        <td>accure</td>
        <td>134</td>
    </tr>
    <tr bgcolor="#E7DDCC">
        <td align="center"><input type="checkbox"/></td>
        <td>Zebra</td>
        <td>231</td>
    </tr>
</table>
<input type='button' id='btnTest' value='Get Rows' />

$(function() {
    $('#btnTest').click(function() {
        $('#docsTable input[type="checkbox"]:checked').each(function() {
            var $row = $(this).parents('tr');
            alert($row.find('td:eq(0) input').val());
            alert($row.find('td:eq(1)').html());
            alert($row.find('td:eq(2)').html());
        });
    });
});

演示:

http://www.jsfiddle.net/3yYFY/

我该怎么做?

提前致谢。

4 个答案:

答案 0 :(得分:1)

您可以使用hasmap方法并将值存储在数组中。

$('#btnTest').click(function() {
    var arr = $('#docsTable tr').has('input[type="checkbox"]:checked').map(function() {
        return $('td:eq(1)', this).text()
    }).get();
});

http://jsfiddle.net/twn2W/

答案 1 :(得分:0)

根据我对你的问题的理解,你应该使用nearest()而不是find()方法

答案 2 :(得分:0)

$("#docsTable input:checked").closest("tr").find("td:eq(1)").map(function () {
  return $(this).text();
}).toArray()

答案 3 :(得分:0)

$(':checked')​.parent().next().each(function(){alert($(this).html())})