【问题标题】:Getting error - TypeError: DataTable.fnDestroy is not a function出现错误 - TypeError: DataTable.fnDestroy is not a function
【发布时间】:2015-11-01 13:55:15
【问题描述】:

我有以下使用数据表的代码

Contact.dataTable = $('#table').dataTable( {
.............
},
 $('#table tbody').on('click', '.position', function () {
            var row = this.parentElement;
             var data = Contact.dataTable.row(row).data();
...
}

由于上述代码给出错误"TypeError: Contact.dataTable.row is not a function",我已将每个dataTable 更改为DataTable强>。但现在它给出了错误"TypeError: Contact.DataTable.fnDestroy is not a function"

下面是给出错误的代码

Contact.DataTable = $('#table').DataTable( {
    .............
    },
     $('#table tbody').on('click', '.position', function () {
                var row = this.parentElement;
                 var data = Contact.DataTable.row(row).data();
    ...
    }

if('DataTable' in Contact) {
            Contact.DataTable.fnDestroy();
}

请大家帮忙!

【问题讨论】:

  • 嗯,Contact.dataTable !== Contact.DataTable,你似乎还在处理两个不同的事情?
  • 不,当我使用 Contact.dataTable -> 它给我错误,如 Contact.dataTable.row is not a function。所以我用 DataTable 替换了 dataTable 的每个实例 - 现在它给出了错误 - fnDestroy 不是函数

标签: javascript jquery datatable


【解决方案1】:

这似乎是……的区别。

_table = jQuery('table#fp-table-table').dataTable(); // .fnDestroy() 有效 和

_table = jQuery('table#fp-table-table').DataTable(); // .fnDestroy() 不起作用 DataTable 似乎是用于 API 调用回对象,而 dataTable 似乎是初始化方法。

在我的项目中,我将初始化更改为使用 DataTable 而不是 dataTable 来执行过滤任务。在此之后,我的 AJAX 重新加载会抛出“未定义”错误,所以我将其改回...我 esta。

【讨论】:

    【解决方案2】:

    查看此线程 here - 它讨论了 .DataTable().dataTable() 之间的区别。

    【讨论】:

      猜你喜欢
      • 2016-06-24
      • 1970-01-01
      • 2015-05-04
      • 2018-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-20
      相关资源
      最近更新 更多