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

hasとメソッドを使用しmapて、値を配列に格納できます。

$('#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()メソッドの代わりにclosest()を使用する必要があります

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