所以我试图找到带有复选框的行,然后从该行中获取列值。以下是我到目前为止的情况:
$('#myTable tbody tr').each(function () {
var chckbox = $(this).find('.checkItem');
if (chckbox.checked) {
ids.push($(this).find(".id").html());
}
});
现在的问题是它永远不会进入if语句。类名都是正确的。
答案 0 :(得分:3)
$('#myTable tbody tr').each(function () {
var chckbox = $(this).find('.checkItem');
if (chckbox.prop('checked')) {
ids.push($(this).find(".id").html());
}
});
答案 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());
}
});