DataTables初始化时跳转指定页面失败如何解决?
解决DataTables initComplete回调中页面跳转无效的问题
问题原因
你代码里的table变量在initComplete回调执行时,还未完成DataTables实例的赋值,导致调用table.page(5).draw(false)无法生效。
修复方案
可以通过回调参数里的settings来获取DataTables API实例,替代外部的table变量:
var table = $('#example').dataTable({ "initComplete": function(settings, json) { // 通过settings创建API实例 var dtApi = new $.fn.dataTable.Api(settings); // 跳转到指定页面(注意:page索引从0开始,page(5)对应第6页) dtApi.page(5).draw(false); } });
另外需要注意:DataTables的page()方法接收的是从0开始的索引,如果你想跳转到第5页,应该传入4而不是5,这也是常见的误区。
另一种写法
也可以直接在回调里通过this获取实例:
var table = $('#example').dataTable({ "initComplete": function(settings, json) { $(this).DataTable().page(5).draw(false); } });
内容的提问来源于stack exchange,提问作者peace_love
相关产品推荐
相关产品推荐

