【发布时间】:2018-08-07 15:09:02
【问题描述】:
基于this 问题。
我使用以下代码初始化我的datatables.js 表:
var table_entity = $('#myTable').DataTable({
"pageLength":getParameterByName('pageLength'),//getting param from query string
fixedHeader: true,
"ajax": {
"url": myUrl,
"data": function(d) {
d.type = $('#mytype').val();
}
}
});
所以我知道如何使用不同的 ajax 参数重新加载我的数据表。现在我需要使用不属于 ajax 部分的不同 pageLength 参数重新加载它,并且在数据表 init 阶段记录。我尝试在重新加载时直接传递它,代码如下:
table_entity.ajax.reload({
"pageLength":77 //some new param different from the initial one
});
但它不起作用,表格重新加载了初始 pageLength 值。欢迎任何如何解决它的想法。谢谢。
UPD_1
设法用
做到这一点第一个:彻底销毁一张表:
$('#MyTable').DataTable().destroy();
$('#MyTable tbody').empty();//note tbody here
第二个:使用更新的参数重新初始化表:
table_data.displayStart = Number(getParameterByName('displayStart'));
table_data.pageLength = Number(getParameterByName('pageLength'));
table_data.iDisplayStart = Number(getParameterByName('displayStart'));
table_data.iDisplayLength = Number(getParameterByName('pageLength'));
$('#MyTable').DataTable(table_data);
注意 2 参数 - iDisplayStart 和 iDisplayLength 此处
是否可以在不破坏表的情况下做同样的事情,但在ajax.reload 阶段?谢谢。
【问题讨论】:
标签: pagination datatables