手动覆盖 DataTable 的 Language.infoFiltered
Manually override DataTable's Language.infoFiltered
我正在尝试覆盖 DataTables 中未过滤的总数。目前,我们的应用程序通过 AJAX 接收信息,这些信息必须经过格式化和处理,然后手动添加到 <table>
。对于动态信息,这似乎通常在 JSON AJAX 响应中收到,但再次强调,我们必须事先进行处理。
目前我有一个看起来像这样的部分修复:
if(typeof $.overrideFilteredCount == 'undefined') {
$.overrideFilteredCount = '_MAX_';
}
$.dataTable = $sortTable.DataTable({
'language': {
"infoFiltered": "(" + $.overrideFilteredCount + " total entries)"
},
});
然而,这会始终向用户显示 "filtered" 文本,因为我们总是使用过滤器,e.x.:
Showing 1 to 10 of 54 entries (54 total entries)
有没有办法动态设置总计数post-初始化?
您可以使用infoCallback选项来定义回调函数来动态更新信息部分。
例如:
$('#example').dataTable({
"infoCallback": function( settings, start, end, max, total, pre ) {
return "Showing " + start + " to " + end + " of " + total + " entries"
+ ((total !== max) ? " (filtered from " + max + " total entries)" : "");
}
});
我正在尝试覆盖 DataTables 中未过滤的总数。目前,我们的应用程序通过 AJAX 接收信息,这些信息必须经过格式化和处理,然后手动添加到 <table>
。对于动态信息,这似乎通常在 JSON AJAX 响应中收到,但再次强调,我们必须事先进行处理。
目前我有一个看起来像这样的部分修复:
if(typeof $.overrideFilteredCount == 'undefined') {
$.overrideFilteredCount = '_MAX_';
}
$.dataTable = $sortTable.DataTable({
'language': {
"infoFiltered": "(" + $.overrideFilteredCount + " total entries)"
},
});
然而,这会始终向用户显示 "filtered" 文本,因为我们总是使用过滤器,e.x.:
Showing 1 to 10 of 54 entries (54 total entries)
有没有办法动态设置总计数post-初始化?
您可以使用infoCallback选项来定义回调函数来动态更新信息部分。
例如:
$('#example').dataTable({
"infoCallback": function( settings, start, end, max, total, pre ) {
return "Showing " + start + " to " + end + " of " + total + " entries"
+ ((total !== max) ? " (filtered from " + max + " total entries)" : "");
}
});