jQuery DataTables 检查标题单击时的复选框

Posted

技术标签:

【中文标题】jQuery DataTables 检查标题单击时的复选框【英文标题】:jQuery DataTables check Checkboxes on header click 【发布时间】:2018-06-17 11:20:01 【问题描述】:

我当前的项目中有一个表,并使用 DataTables 提供对这个表的搜索和排序功能。

现在,我在每一行前面添加复选框,因此可以检查一行,以后只处理选中的行。

我希望能够单击标题(这也是一个复选框),然后 1. 没有该列的排序功能,以及单击时选中所有复选框,并取消选中所有,如果都已经打勾了。

所以我可以使用 jQuery 选择器 :checkbox 来查找复选框并将属性设置为 true,然后如果再次单击,则检查每个是否已选中,如果是则取消选中它们,如果未选中所有,并且很快。

但是有没有更优雅、更好的方法来做到这一点?另外,我怎样才能禁用排序,所以它不是显示在该列中的 asc/desc 排序图标?

【问题讨论】:

【参考方案1】:

请参阅jQuery DataTables Checkboxes 插件,该插件在标题中添加了对复选框和“全选”控件的支持。

var table = $('#example').DataTable(
   'columnDefs': [
      
         'targets': 0,
         'checkboxes': 
            'selectRow': true
         
      
   ],
   'select': 
      'style': 'multi'
   ,
   'order': [[1, 'asc']]
);

有关代码和演示,请参阅 this example。

【讨论】:

以上是关于jQuery DataTables 检查标题单击时的复选框的主要内容,如果未能解决你的问题,请参考以下文章

当前页面的 JQuery DataTables 列复选框

单击按钮时,如何触发 jquery datatables fnServerData 通过 AJAX 更新表?

如何在按钮单击时启用和禁用 jquery dataTables 的分页

JQuery1.8 Datatables单击按钮保存状态

jQuery DataTables - 行单击未在第一个以外的页面上注册

Datatables Jquery 通过单击 TR 展开/折叠