Pri*_*ish 21 jquery datatables
我正在为我的HTML表使用jQuery DataTables插件.
有没有办法在页面中获取表格中行数的行数.
例如,如果70
我的表中有行,并且让我们说50
它们会显示在第1页和20
第2页上.有没有办法计算70
?
我已经尝试了这篇文章中包含的所有建议: jQuery:计算表中的行数
这包括:
var rowCount = $('#myTable tr').length;
var rowCount = $('#myTable tr').size();
var rowCount = $('#myTable >tbody >tr').length;
var rowCount = $("#myTable").attr('rows').length;
但是所有上述建议似乎都返回现有页面上的行数(在这种情况下,50
而不是70
).
Mat*_*son 26
看起来DataTables正在从DOM中删除不在当前页面上的行,因此您无法使用jQuery选择器对它们进行计数.您必须使用DataTables API,特别是fnGetData
函数:
$(document).ready(function() {
// Initialize your table
var oTable = $('#myTable').dataTable();
// Get the length
alert(oTable.fnGetData().length);
} );
Run Code Online (Sandbox Code Playgroud)
Gyr*_*com 12
对于DataTables 1.10
使用page.info()
检索关于表的信息,如下图所示.
属性recordsTotal
将保存表中的记录总数.
var table = $('#example').DataTable({
"initComplete": function(settings, json){
var info = this.api().page.info();
console.log('Total records', info.recordsTotal);
console.log('Displayed records', info.recordsDisplay);
}
});
Run Code Online (Sandbox Code Playgroud)
有关代码和演示,请参阅此jsFiddle.
只要您page.info()
在检索数据后使用,例如在initComplete
回调函数中,此解决方案将适用于客户端和服务器端处理模式.
使用服务器端分页时,您可以访问总记录数,如此...
dt.fnSettings()._iRecordsTotal;
Run Code Online (Sandbox Code Playgroud)
如果你正在使用服务器端分页,你可以挂钩到fnDrawCallback并在每次绘制表时更新你的html ...
$('#Table').dataTable({
"fnDrawCallback": function (oSettings) {
alert(oSettings._iRecordsTotal);
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
44729 次 |
最近记录: |