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

问题描述 投票:0回答:5

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

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

像这样:

$('#main_index1 tbody tr').removeClass('selected');

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

有什么想法如何取消选择所有页面上的所有选定行吗?

javascript jquery html datatables
5个回答
14
投票

想通了...尝试这个:

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

工作起来很有魅力。


2
投票

这不是我的。在互联网上找到的。但它就像一个魅力:

var table = $('#myTable').DataTable();
table.rows().deselect();

0
投票

.deselect()

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);

0
投票

如果任何读者有兴趣在不使用 JQuery 的情况下实现相同的表行为(“table”是您的 Datatable 对象变量):

table.rows('.selected').deselect()

这一行取消选择每一页中所有选定的行。


-2
投票

您可以通过 Tabletools.js 插件

实现此目的

获取实际表格的tabletool实例:

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

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

oTT.fnSelectNone();

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

© www.soinside.com 2019 - 2024. All rights reserved.