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

Deselecting datatables hidden checkbox

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

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

它对选中部分有效,但是当我想取消选中这些框时,取消选中部分不起作用。我该如何调整才能正确取消选中复选框?

这是我的代码:

$('#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)')); 
        }
    });

提前致谢

在我看来,您的取消检查代码的计算结果为真..这意味着它将检查它们。试试这个:

$('#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); 
    }
});

我自己偏爱这个版本:

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