提问人:Prinu Philip 提问时间:9/27/2016 更新时间:5/28/2020 访问量:15341
如何在ajax加载后获取数据表中的行数
How to get number of rows in datatable after ajax load
问:
"ajax": {
"url": "<%=request.getContextPath()%>/Home?value=getreqs5",
"data": function ( json,callback) {
var oTable = $('#fifth').dataTable();
// Get the length
var count=oTable.fnGetData().length;
return json;
}
}
Ajax 数据已成功加载到 datatable 中。但是行数显示为零。ajax返回数据后如何获取数据表中的行数?
答:
15赞
John
9/27/2016
#1
如果您使用的是 datatables 1.10,则可以通过以下方式获取总行数
"ajax": {
"url" : "<%=request.getContextPath()%>/Home?value=getreqs5",
"dataSrc": function(res){
var count = res.data.length;
alert(count);
return res.data;
}
}
使用 您可以获得 ajax 成功回调。在此回调中,您可以计算对象数量,而不是 Ajax 返回的数量。dataSrc
如果你想知道你的所有数据表中有多少行,包括所有页面中的所有行,你可以在你的datatable参数中执行此操作,但在你的ajax参数中执行此操作:
"initComplete": function(settings, json){
var info = this.api().page.info();
alert('Total records', info.recordsTotal);
}
评论
0赞
Prinu Philip
9/27/2016
如何在 AJAX 加载后获取计数
0赞
John
9/27/2016
我更新了我的代码。您可以使用 dataSrc 参数进行尝试。
0赞
John
9/27/2016
这将仅返回 ajax 行号。不是数据表中每个页面的总行数。
0赞
Prinu Philip
9/27/2016
就我而言,ajax 行号也很有帮助......我接受了你的回答
0赞
JHOAN B. HENRICHE
12/1/2018
优秀的解决方案
4赞
Rmaxx
5/28/2020
#2
只是为所有寻找如何在其他用例中访问 api 的人添加:
var table = $("#myTable").dataTable();
table.on('draw', function (data) {
console.log(table.page.info().recordsDisplay);
});
评论