jQuery Datatable:使用搜索()匹配的记录数
我正在搜索我的数据表 声明如下:jQuery Datatable:使用搜索()匹配的记录数,jquery,datatables,jquery-datatables,Jquery,Datatables,Jquery Datatables,我正在搜索我的数据表 声明如下: var dataTable = $(#dt).DataTable().search("searchpattern"); dataTable.draw(); 所以一切都很好,datatable只是显示与searchpattern匹配的条目 但是我怎样才能确定,有多少条目与模式匹配呢 我尝试了以下方法: dataTable.rows().nodes().length; 但返回的总是所有记录的数量,而不是匹配记录的计数。谢谢你在建议中的帮助 试试这样的方法: .
var dataTable = $(#dt).DataTable().search("searchpattern");
dataTable.draw();
所以一切都很好,datatable只是显示与searchpattern匹配的条目
但是我怎样才能确定,有多少条目与模式匹配呢
我尝试了以下方法:
dataTable.rows().nodes().length;
但返回的总是所有记录的数量,而不是匹配记录的计数。谢谢你在建议中的帮助 试试这样的方法:
...
var total_row_count = dataTable.fnSettings().fnRecordsTotal();
var filtered_row_count = dataTable.fnSettings().fnRecordsDisplay();
console.log(total_row_count + " total rows filtered down to " + filtered_row_count);
您可以按照以下要求使用此功能:
dataTable.$('tr',{“filter”:“applied”}).length
从DataTables 1.10开始,使用
dataTable.page.info()
看起来是获取当前信息的最佳方式(处理/搜索/重新加载后)
所以
结果:
{
"page": 1,
"pages": 6,
"start": 10,
"end": 20,
"length": 10,
"recordsTotal": 57,
"recordsDisplay": 57,
"serverSide": false
}
info.recordsDisplay
是您需要的。参考:非常感谢!这非常适合我在DataTable上将deferRender设置为true的场景,因为我们可能会显示30000多行。接受的答案不适用于我的场景,因为我的一些行由于延迟渲染而尚未渲染。但是,recordsDisplay具有正确的数据。
{
"page": 1,
"pages": 6,
"start": 10,
"end": 20,
"length": 10,
"recordsTotal": 57,
"recordsDisplay": 57,
"serverSide": false
}