取消选中隐藏的数据表复选框

时间:2015-04-18 03:31:32

标签: javascript jquery checkbox jquery-datatables

我认为我这里有一个简单的问题,但我的jquery有点受限。

我正在使用此脚本检查由数据表处理的表格行中的所有复选框(包括来自延迟渲染的隐藏的复选框)

它适用于检查部分,但是当我想取消选择框时,取消选中无法正常工作。我如何调整我必须正确取消选中框?

继承我的代码:

$('#selectall').on('click', function() {  //on click 
        if(this.checked) { // check select status
            var cells = dTable.cells( ).nodes();
            $( cells ).find(':checkbox').prop('checked', $(this).is(':checked')); 
        } else {
            var cells = dTable.cells( ).nodes();
            $( cells ).find(':checkbox').prop('checked', $(this).is(':not(:checked)')); 
        }
    });

提前致谢

2 个答案:

答案 0 :(得分:1)

在我看来,你的uncheck代码评估为true ..这意味着它会检查它们。试试这个:

$('#selectall').on('click', function() {  //on click 
    if (this.checked) { // check select status
        var cells = dTable.cells( ).nodes();
        $( cells ).find(':checkbox').prop('checked',true); 
    } else {
        var cells = dTable.cells( ).nodes();
        $( cells ).find(':checkbox').prop('checked',false); 
    }
});

答案 1 :(得分:1)

我自己偏爱这个版本:

$('#selectall').on('click', function() {  //on click 
    var cells = dTable.cells( ).nodes();
    $( cells ).find(':checkbox').prop('checked',this.checked);         
});