获取表中包含复选框的行

时间:2013-07-06 19:43:37

标签: javascript jquery

所以我试图找到带有复选框的行,然后从该行中获取列值。以下是我到目前为止的情况:

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

现在的问题是它永远不会进入if语句。类名都是正确的。

4 个答案:

答案 0 :(得分:3)

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

jQuery .prop

答案 1 :(得分:1)

如果你这样做也会有效:

$('#myTable tbody tr .checkItem:checked').each(function () {
    ids.push($(this).closest('tr').find(".id").html());
});

答案 2 :(得分:1)

这将一次性返回ID数组:

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

请注意在.map循环中使用push而不是.each

.map通常是你想要使用的函数,如果你有一个元素数组,并希望从它们中的每一个中检索一些值到一个数组中。

答案 3 :(得分:0)

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