0

そのため、チェック ボックスがオンになっている行を見つけて、その行から列の値を取得しようとしています。これが私がこれまでに持っているものです:

$('#myTable tbody tr').each(function () {
    var chckbox = $(this).find('.checkItem');
    if (chckbox.checked) {  
    ids.push($(this).find(".id").html());
    }
});

現在の問題は、if ステートメント内に入らないことです。クラス名はすべて正しいです。

4

4 に答える 4

3
$('#myTable tbody tr').each(function () {
    var chckbox = $(this).find('.checkItem');
    if (chckbox.prop('checked')) {  
        ids.push($(this).find(".id").html());
    }
});

jQuery.prop

于 2013-07-06T19:45:15.843 に答える
1

これにより、ID の配列がすべて一度に返されます。

var ids = $('#myTable .checkItem:checked').map(function() {
    return $(this).closest('tr').find('.id').html();
}).get();

ループ内では.mapなく を使用していることに注意してください。push.each

.map通常、要素の配列があり、各要素から値を取得して配列に入れたい場合に使用する関数です。

于 2013-07-06T20:02:59.357 に答える
1

次のようにするとうまくいきます。

$('#myTable tbody tr .checkItem:checked').each(function () {
    ids.push($(this).closest('tr').find(".id").html());
});
于 2013-07-06T19:56:09.953 に答える
0
$('#myTable tbody tr').each(function () {
  var chckbox = $(this).find('.checkItem:checked');
  if (chckbox.length) {  
    ids.push($(this).find(".id").html());
  }
});
于 2013-07-06T19:46:34.840 に答える