jQuery Datatable:使用search()匹配记录的数量

时间:2014-12-29 14:23:03

标签: jquery datatables jquery-datatables

我正在搜索我的数据表

使用以下声明:

var dataTable =  $(#dt).DataTable().search("searchpattern");
dataTable.draw();

所以一切都很好,数据表只显示与searchpattern匹配的条目。

但我如何判断,有多少条目与模式匹配?

我尝试过以下方法:

dataTable.rows().nodes().length;

但返回的始终是所有记录的数量,而不是匹配记录的数量。感谢您的建议帮助!

3 个答案:

答案 0 :(得分:9)

您可以根据get filtered rows使用此功能:

  

dataTable。$(' tr',{"过滤":"已应用"})。长度;

答案 1 :(得分:5)

从DataTables 1.10开始,使用iostream看起来是获取当前信息的最佳方式(在处理/搜索/重新加载之后)。

所以..

dataTable.page.info()

结果:

var table = $('#example').DataTable();
var info = table.page.info();

console.log(info);

{ "page": 1, "pages": 6, "start": 10, "end": 20, "length": 10, "recordsTotal": 57, "recordsDisplay": 57, "serverSide": false } 就是你所要求的。参考:page.info() at dataTables API

答案 2 :(得分:2)

尝试这样的事情:

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

http://datatables.net/forums/discussion/2278/how-to-get-number-of-rows