0

我有一张桌子(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

4 回答 4

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/

于 2012-11-22T11:32:46.700 回答
0

根据我从您的问题中了解到的情况,您应该使用最接近()而不是 find()方法

于 2012-11-22T11:31:59.113 回答
0
$(':checked')​.parent().next().each(function(){alert($(this).html())})
于 2012-11-22T11:52:06.533 回答
0
$("#docsTable input:checked").closest("tr").find("td:eq(1)").map(function () {
  return $(this).text();
}).toArray()
于 2012-11-22T11:43:33.533 回答