取消选择数据表中的所有选定行

Deselect all selected rows in DataTables

本文关键字:选择 数据表 取消      更新时间:2023-09-26

我正在使用jQuery Datatables插件(v 1.10)

我正在使用选择功能,可以突出显示/选择行。我也在使用分页。我可以翻阅表格并在多个页面上进行选择。我尝试创建一个按钮来清除所选行,但它仅清除当前页面上选择的行。

像这样: $('#main_index1 tbody tr').removeClass('selected');

例如,如果我在第 1 页上

选择了一行,然后转到表的第 2 页并运行此函数,则不会取消选择在第 1 页上选择的行。如果我在第 2 页上选择了某些内容,则可以取消选择。

知道如何取消选择所有页面上的所有选定行的任何想法?

想通了...尝试了这个:

table = $("#main_index1").DataTable();
table 
    .rows( '.selected' )
    .nodes()
    .to$() 
    .removeClass( 'selected' );

像魅力一样工作。

.deselect() or

table = $("#main_index1").DataTable();
table 
    .rows( '.selected' )
    .nodes()
    .to$() 
    .removeClass( 'selected' ); did not work for me. 

我做了以下更改,它奏效了。我必须显式将检查的属性设置为 false。

var rows = table.rows({ page: 'current' }).nodes();
$('input[type="checkbox"]', rows).prop('checked', false);
您可以通过

Tabletools.js插件来实现这一点

获取实际表的表工具实例:

var oTT = TableTools.fnGetInstance('file-records');

oTT现在支持各种数据表方法:

oTT.fnSelectNone();

fnSelectNone()取消选择每个页面上的所有行(以前选择)