Datatable初始化分页后点击页码跳转至undefined页面如何解决?
Datatable点击分页跳转undefined页面解决思路
- 修复
$.noConflict()调用后的语法错误
你调用$.noConflict()方法后,全局$符号的jQuery控制权已经被释放,后续代码仍然用$选择元素初始化Datatable时,会出现变量未定义问题,导致Datatable生成的分页按钮href属性值异常,出现跳转undefined的情况。
修复后初始化代码示例:
// 方法1:给jQuery起别名,后续用别名调用 $(document).ready(function() { const jq = $.noConflict(); const table = jq('#complaint-table').DataTable({ 'paging': true, "pageLength": 5 }); }); // 方法2:直接使用jQuery关键字调用 jQuery(document).ready(function() { $.noConflict(); const table = jQuery('#complaint-table').DataTable({ 'paging': true, "pageLength": 5 }); });
- 阻止分页按钮默认跳转行为
如果修改初始化代码后仍有问题,可以主动阻止分页按钮的默认点击事件,避免页面跳转:
// 放在Datatable初始化代码之后 jQuery(document).on('click', '.paginate_button a', function(e) { e.preventDefault(); });
- 检查版本兼容性
确认当前引入的jQuery版本和Datatable版本匹配,Datatable 1.10.x及以上版本需要搭配jQuery 1.7及以上版本使用,版本不兼容也会导致分页渲染异常。 - 排查全局JS错误
打开浏览器开发者工具的控制台面板,点击分页按钮时查看是否有其他JS报错,其他脚本的异常也会打断Datatable的分页逻辑执行。
内容的提问来源于stack exchange,提问作者Smit Vasava
相关产品推荐
相关产品推荐

