我正在为我的HTML表使用jQuery DataTables插件。
有没有办法在页面中获取表格中行数的行数。
例如,如果我的表格中有70
行,那么我们会在第一页上显示50
行,并在第二页上显示20
。有没有办法获得70
的数量?
我已经尝试了这篇文章中包含的所有建议: jQuery: count number of rows in a table
这包括:
var rowCount = $('#myTable tr').length;
var rowCount = $('#myTable tr').size();
var rowCount = $('#myTable >tbody >tr').length;
var rowCount = $("#myTable").attr('rows').length;
但上述所有建议似乎都会返回现有网页上的行数(在这种情况下,50
而不是70
)。
答案 0 :(得分:26)
看起来DataTables正在从DOM中删除不在当前页面上的行,因此您无法使用jQuery选择器对它们进行计数。您必须使用DataTables API,特别是fnGetData
函数:
$(document).ready(function() {
// Initialize your table
var oTable = $('#myTable').dataTable();
// Get the length
alert(oTable.fnGetData().length);
} );
答案 1 :(得分:8)
使用服务器端分页时,您可以像这样访问总记录数...
dt.fnSettings()._iRecordsTotal;
如果你正在使用服务器端分页,你可以挂钩到fnDrawCallback并在绘制表时更新你的html ...
$('#Table').dataTable({
"fnDrawCallback": function (oSettings) {
alert(oSettings._iRecordsTotal);
}
});
答案 2 :(得分:-2)
在您的数据表ajax调用的JSON响应中,我们获得了iTotalDisplayRecords'作为该响应JSON对象的属性之一。 您可以直接使用' iTotalDisplayRecords'作为数据表中的记录数。