我有一个奇怪的问题,DataTables和destroy。我使用的是版本1.10.3(但也尝试了1.10.7)和fixedColumns插件(3.0)。当我想破坏表时,我在插件中出错:
未捕获的TypeError:$(...)。fn不是函数
我的init看起来像这样:
fulltable = $('#auditplan_table_fs').dataTable();
和破坏
fulltable.fnDestroy();
但我也尝试通过.DataTable()
初始化并通过.api().destroy()
或.destroy()
销毁,这会导致相同的结果。任何可能的解决方案将不胜感激。
更新:
因为它似乎不是FixedColumns的问题,这里有一些更多的信息。我在ajax success
中调用dataTable,如下所示:
$('#auditplan_table_fs').append(responseData.findinglist.html);
fulltable = $('#auditplan_table_fs').dataTable({
scrollY: newheight,
scrollX: true,
scrollCollapse: true,
"bSort": false,
paging: false
});
new $.fn.dataTable.FixedColumns(fulltable);
在文档更改功能中(当我从下拉列表中选择一些值时)我尝试像之前发布的那样销毁表格,然后再次调用ajax函数。
fulltable
变量已在我的文档中定义,正如已经说明的那样,在我的success
函数中进行了赋值。当我在破坏之前打印出变量时,一切似乎都没问题。
更新:它似乎是fixedColumns本身的一个错误。我发现我使用3.0.0,最新版本是3.0.4。有了这个,我通过了第一个错误并提出了一个新错误。我现在陷入第1107行:
未捕获的TypeError:无法读取未定义的属性'anCells'
我想它必须在ajax调用中对我的init做一些事情。
最后更新:好的,我要禁食。这只是一个缓存问题。使用新版本,一切正常。
答案 0 :(得分:0)
如果你这样做:
- 的jQuery
- 数据表
- 的jQuery
醇>
第二个jQuery将覆盖第一个jQuery(附有DataTables)。因此,您最终会得到一个没有DataTables
可用的jQuery对象。
有点令人沮丧的是jQuery没有因为它咬了很多人而导致加载错误
<强> Reference 强>