jquery数据表跨页面的行数

时间:2010-07-13 14:16:00

标签: jquery datatables

我正在为我的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)。

3 个答案:

答案 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'作为数据表中的记录数。

相关问题