我正在尝试编写一个函数来检查是否选择了任何表行。
我需要在任何<tr>
点击时触发此功能。
谢谢。
以下是我选择行的代码:
$('#Request tbody').on('click', 'tr', function () {
if ($(this).hasClass('selected')) {
$(this).removeClass('selected');
} else {
oTable.$('tr.selected').removeClass('selected');
$(this).addClass('selected');
}
});
答案 0 :(得分:7)
从Datatables 1.10开始,有一个可以使用的any()方法:
var table = $('#example').DataTable();
if ( table.rows( '.selected' ).any() )
// Your code here
答案 1 :(得分:1)
您已经在问题中回答了问题。下面的代码可以让您确定是否有任何选定的行。
var $rows = oTable.$('tr.selected');
// If some rows are selected
if($rows.length){
// Otherwise, if no rows are selected
} else {
}
我假设您的代码中有某处var oTable = $('#Request').DataTable()
。否则,您可以使用$('#Request').DataTable()
。
答案 2 :(得分:0)
使用API。
var oTable = $("#yourtable").DataTable();
anyRowSelected = oTable.rows({selected : true}).indexes().length === 0 ? false : true;//false - nothing selected. true - 1 or more are selected.
答案 3 :(得分:0)
var table = $('#foo-table').DataTable();
var selectedRows = table.rows({ selected: true });
这是从DataTables 1.10.8开始获取选定行的正确方法。