我有一个在数据表的帮助下分页的包含大量记录的表。第一个标题列是一个全选复选框,每一行都有自己的复选框。
我想在我的表中具有以下功能:
1) 用户可以浏览表格并随机选择/取消选择复选框。
2) 单击标题中的“全选”复选框应仅选中/取消选中所有当前可见的记录。
3)“全选”按钮应为不同页面的数据表保持状态(选中/未选中)。例如 - 如果用户单击第 1 页上的全选并导航到下一页,则应取消选中全选复选框并再次单击它将检查此页面中的所有行,而之前选中的复选框不受影响。
到目前为止,我有以下代码来处理检查选择:
$('#selectAllCheck').click(function(e) {
var chk = $(this).prop('checked');
var currentRows = $('#myTable tbody tr');
$.each(currentRows, function(){
$(this).find(':checkbox[name=statusCheckbox]').each(function(){
$(this).prop('checked', chk);
});
});
});
我知道该_('tr', {"filter":"applied"});
函数,但它只是将所有行返回给我。我不知道为什么。
我已经使用上面的代码实现了 (1) 和 (2) 并且工作正常。唯一的问题是“全选”功能在不同页面上的行为。我查看了 datatables.net,但找不到与此相关的任何内容。