我正在使用 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' );
工作起来很有魅力。
这不是我的。在互联网上找到的。但它就像一个魅力:
var table = $('#myTable').DataTable();
table.rows().deselect();
.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);
如果任何读者有兴趣在不使用 JQuery 的情况下实现相同的表行为(“table”是您的 Datatable 对象变量):
table.rows('.selected').deselect()
这一行取消选择每一页中所有选定的行。
您可以通过 Tabletools.js 插件
实现此目的获取实际表格的tabletool实例:
var oTT = TableTools.fnGetInstance('file-records');
oTT 现在支持多种数据表方法:
oTT.fnSelectNone();
fnSelectNone()
取消选择每个页面上的所有行(之前选择的)