Javascript 如何使用分页功能取消选中tablesorter中的所有复选框

Javascript 如何使用分页功能取消选中tablesorter中的所有复选框,javascript,jquery,tablesorter,Javascript,Jquery,Tablesorter,我已经被这折磨了好一阵子了 因为表分拣机分页将完全删除表中不可见的行,以便更快地进行分拣。我无法使每行中的复选框按我的要求工作 这是我的JSFIDLE-> 单击变量触发器以调出表格 基本上,我要做的是获取所有选定行的id,并将它们放入数组selectedID。创建报告时清空选择EDID数组(或单击“创建报告”按钮)。因此,单击按钮后,我希望表中的所有复选框都应取消选中。我正在使用以下代码: $('table.tablesorter tbody tr').find('input[type=che

我已经被这折磨了好一阵子了

因为表分拣机分页将完全删除表中不可见的行,以便更快地进行分拣。我无法使每行中的复选框按我的要求工作

这是我的JSFIDLE->

单击变量触发器以调出表格

基本上,我要做的是获取所有选定行的id,并将它们放入数组
selectedID
。创建报告时清空
选择EDID
数组(或单击“创建报告”按钮)。因此,单击按钮后,我希望表中的所有复选框都应取消选中。我正在使用以下代码:

$('table.tablesorter tbody tr').find('input[type=checkbox')).prop('checked',false);
//我只能取消选中当前页面中的框

但是,我只能取消选中当前页面中的框,不包括不可见的页面。这让我很难获得所选行的正确ID


任何能帮助我的人都将不胜感激

您的部分javascript中有一些错误:

$('table.tablesorter tbody').on("click", "tr", function(event) {
    if (event.target.type != 'checkbox') {
        $(':checkbox', this).trigger('click');
        var id = $(this).attr('id');
        if (selectedID.indexOf(id) == -1) {
            selectedID.push(id);
        } else {
            var index = selectedID.indexOf(id);
            selectedID.splice(index, 1);
        }
    }
});
我为您更正了它们,似乎效果很好:
==-->
=
==
-->
=

var id=$(this.attr('id')
-->
var id=$(this.attr('id')

编辑:以上内容对我不起作用,所以我认为这就是问题所在,但要回答您的问题:

$($(".tablesorter")[0].config.rowsCopy).each(function() {
    $(this).find('input[type=checkbox]').prop('checked', false);
});
这将取消选中表中的所有复选框,甚至是隐藏的复选框。根据,您可以执行以下操作:

var t = $('table')

// disabling the pager will restore all table rows 
t.trigger('disable.pager'); 

// ---do your thing---

// restore pager 
t.trigger('enable.pager');
如果您没有忽略寻呼机的大小选择器(如果忽略了,它会抛出错误),那么这似乎是可行的


我已经更新了您的JSFIDLE:

功能,非常感谢!从未听说过
config.rowsCopy
但是,有没有相关的参考资料,只是一个简单的谷歌搜索:)谢谢你的回答。我不能接受两个答案,所以我给了你更高的票数:)