DataTables 1.10 全选复选框以选择所有行,甚至是带有分页的隐藏行

Posted

技术标签:

【中文标题】DataTables 1.10 全选复选框以选择所有行,甚至是带有分页的隐藏行【英文标题】:DataTables 1.10 Select All checkbox to select all rows, even hidden rows with pagination 【发布时间】:2014-09-30 01:45:31 【问题描述】:

我是DataTables 的新手,并且在表格标题行中有一个带有“全选”复选框的表格,然后每一行都有一个复选框。我可以编写代码来选择选中“选择所有”复选框时选择所有可见复选框,但如果有其他页面,则不会检查这些页面。

我遵循了几个示例,但它们似乎都不起作用,至少我无法让它们起作用。一个在*** 上,它似乎是最接近我正在寻找的东西。所有其他都是早期版本的 DataTables 并且已被弃用。我试图让 *** 示例工作,但此时我只是卡住了。

我的示例代码可以在DataTables Live 网站上找到。有人有什么想法吗?

【问题讨论】:

我发布的 jQuery 示例中有几个错误,所以我在这里简化了它:DataTables Live Updated Example。我现在要做的就是在每个页面上获取所有复选框,当您选中“全选”复选框时进行检查。在我能克服之前,我无法将应付总额加起来。 【参考方案1】:

我遇到了同样的问题。使用 'payTable.cells()' 将返回所有数据行,而不仅仅是可见的行,而且我无法以任何方式更改 'checked' 属性。 我通过使用 jquery 更改 DOM 对象解决了这个问题:

var items = $('[id="cb"]');
items.prop('checked', true);

【讨论】:

【参考方案2】:
var table = $('table').DataTable();
var checkedBoxes = table.column(columnIndex).nodes().toJQuery();

你会得到 tbody 下的所有复选框作为一个 JQuery 对象

【讨论】:

以上是关于DataTables 1.10 全选复选框以选择所有行,甚至是带有分页的隐藏行的主要内容,如果未能解决你的问题,请参考以下文章

数据表全选复选框

选择/取消选择所有复选框 WIN32

1.10 中的 DataTables 无限滚动

AngularJs复选框全选

确定 DataTables 是不是在 1.10 版中完成。有回调吗?

DataTable如何添加多选,全选