jQuery DataTable插件丢失数据

时间:2014-12-17 19:58:21

标签: jquery sorting datatable

我在我的一个项目中使用了jQuery DataTable插件,并且很难配置它。

我使用此数据表插件仅用于排序目的,因此禁用其他选项。

该表是通过Web服务的回调函数生成的。 Web服务进行调用并返回JSON对象。我正在解析该JSON并构造表行,然后按如下方式初始化该表上的DataTable:

$('.table').each(function() {
     $(this).DataTable({
         "paging": false,
         "searching": false,
         "info" : false
      });
});

问题是表内容可能在没有页面重新加载的情况下更新,每次创建新表时我都必须重新初始化表。

问题在于,当我以上述方式初始化表时,插件会给我一个错误警告,指的是重新初始化的问题。所以我发现我需要先使用以下属性销毁旧的表对象:

" destroy":true

初始化代码现在看起来如下:

$('[data-ride="datatables"]').each(function() {
     $(this).DataTable({
         "paging": false,
         "searching": false,
         "info" : false,
         "destroy": true
      });
});

但是现在插件丢失了一些必须存在的行。如果我禁用DataTable插件 - 所有行都是正确的,当我启用它们时,其中一些行会丢失。

有人可以告诉我,我做错了吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我是否正确地知道,您有多个表是从返回的JSON中用HTML创建的,之后初始化为数据表并可能通过重复这些步骤来更新数据?如果是,那么它应该有助于使用数据表API来清除和添加新数据,而不是新创建它们并通过HTML添加数据。这样整个数据处理就更清晰了,任何错误仍然会更容易追踪和修复。