jquery 取消选择DataTables中的所有选定行

ut6juiuv  于 2023-10-17  发布在  jQuery
关注(0)|答案(4)|浏览(100)

我使用jQuery Datatables插件(v 1.10)
我使用的是选择功能,可以很好地突出显示/选择行。我也在使用paging。我可以翻页浏览表格,并在多个页面上进行选择。我试图创建一个按钮来清除选定的行,但它只清除当前页面上选定的行。
例如:$('#main_index1 tbody tr').removeClass('selected');
例如,如果我在第1页上选择了一行,然后转到表的第2页并运行此函数,则在第1页上选择的行不会被取消选择。如果我在第2页选择了什么,那就取消选择了。
如何在所有页面中删除所有选定的行?

qv7cva1a

qv7cva1a1#

试着用这个来代替:

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

效果很好。

wgeznvg7

wgeznvg72#

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

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

uttx8gqw3#

.deselect()

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

我做了以下改变,它起作用了。我必须显式地将checked属性设置为false。

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

hfsqlsce4#

您可以通过Tabletools.js插件来实现这一点
获取实际表的tabletool示例:

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

oTT现在支持datatable的各种方法:

oTT.fnSelectNone();

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

相关问题