我在我的一个项目中使用了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插件 - 所有行都是正确的,当我启用它们时,其中一些行会丢失。
有人可以告诉我,我做错了吗?
提前致谢。
答案 0 :(得分:0)
我是否正确地知道,您有多个表是从返回的JSON中用HTML创建的,之后初始化为数据表并可能通过重复这些步骤来更新数据?如果是,那么它应该有助于使用数据表API来清除和添加新数据,而不是新创建它们并通过HTML添加数据。这样整个数据处理就更清晰了,任何错误仍然会更容易追踪和修复。