查找已检查的所有行

时间:2015-01-08 13:09:59

标签: javascript jquery

我得到的每一个而不是经过检查的。

$.each($("#sample-table-1 tr.main"), function (key, value) {
    if ($(value).closest("td").find('[type=checkbox]').prop('checked', true))
        console.log($(value).attr('id'));
});

3 个答案:

答案 0 :(得分:3)

您可以选中已选中的复选框,然后获取最接近的父级tr:

$("#sample-table-1 tr.main :checked").each(function(){
   console.log($(this).closest('tr').attr('id'));
});

如果行有多个复选框:

$("#sample-table-1 tr.main").filter(function(){
    return $(this).find(':checked').length > 0;
}).each(function(){
     console.log($(this).attr('id'));
});

答案 1 :(得分:0)

prop('checked', true)更改为prop('checked'),因为prop('checked', true)会设置值而非返回值

试试这个

$.each($("#sample-table-1 tr.main"), function (key, value) {
    if ($(value).find('[type=checkbox]').prop('checked'))
        console.log($(value).attr('id'));
});

答案 2 :(得分:0)

尝试这件事:

$.each($("#sample-table-1 tr.main"), function (key, value) {
    console.log($(value)); //this is for debugging purpose only. What does it write in console?
    if ($(value).closest("td").find('[type=checkbox]').prop('checked')===true)
         console.log($(value).attr('id'));
});