jQuery - 解决DataTables重复初始化时报“Cannot reinitialise DataTable”错误

1,问题描述

通常情况下页面上的表格只需初始化一次就可以了。但有时我们的代码可能对同一个表格多次进行初始化操作,那么这时浏览器就会弹出错误提示框,内容如下:


2,问题原因

Datatables 不允许多次初始化同一表格。虽然这个提示只是起告知作用,不会造成表格功能失效,或是其他 js 错误,但弹出个提示框总归不爽。

 

3,解决版本

只需在初始化的时候初始化时设置 retrieve:true 即可。该设置表示我已经知道初始化选项不能在初始化之后更改,只是希望返回 DataTable 实例。

$(document).ready(function () {
    $('.dataTables-example').DataTable({
        destroy: true,
        order: [1, 'desc'],
        searching: true,
        bFilter: true,
        bInfo: true,
        retrieve:true,
        buttons: [
            {extend: 'copy'},
            {extend: 'csv'},
            {extend: 'excel', title: 'ExampleFile'},
            {extend: 'pdf', title: 'ExampleFile'},

            {
                extend: 'print',
                customize: function (win) {
                    $(win.document.body).addClass('white-bg');
                    $(win.document.body).css('font-size', '10px');

                    $(win.document.body).find('table')
                        .addClass('compact')
                        .css('font-size', 'inherit');
                }
            }
        ]
    });

 

 


原文出自:www.hangge.com  转载请保留原文链接:https://www.hangge.com/blog/cache/detail_2064.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值