【问题标题】:Datatable destroy function not working as expected数据表破坏功能未按预期工作
【发布时间】:2016-06-15 20:05:25
【问题描述】:

我正在尝试实现一个具有基本搜索和高级搜索的网络应用程序,并且我正在使用数据表 1.10 和 jquery 2.2 来显示搜索结果。我在使用 destroy 方法时遇到问题,希望你们中的一些人能够帮助我找到解决方案,在此先感谢大家的帮助

让我稍微解释一下我的项目,代码逻辑,目标和问题:

正如您在我的 jsfiddle 上看到的那样,我有一个包含 5 列的表。我还有一个全局变量“表”来处理创建后的数据表(DT)。我声明了一个函数“loadSearchData”来为另一个全局变量加载 Ajax 调用的参数。在我的两个搜索按钮的单击事件中,我检查 DT 是否已经存在然后我将其销毁,然后我调用函数“initializeDataTable”。我的想法是销毁现有的 DT 并在每次单击“搜索”按钮时创建一个新的。但是它不起作用,并且行为“奇怪”:

我第一次输入搜索条件并单击搜索,效果很好。如果我修改搜索条件并再次单击搜索,则会出现网页错误

“第 1 行错误:无法获取未定义或空引用的属性“样式””

然后,如果不调试,再次点击搜索按钮,那么它又可以正常工作了!

代码:

            //BASIC SEARCH
            $('#btnBasicSearch').on('click', function () {

                $("#partialSearch").removeAttr("hidden");

                loadSearchData('basicSearch');

                if ($.fn.DataTable.isDataTable('#tbDocumentsList'))  {
                    table.destroy();                    
                }

                initializeDataTable(searchParameters);
            });

            //ADVANCED SEARCH
            $("#btnSearch").on('click', function () {

                $("#partialSearch").removeAttr("hidden");
                loadSearchData('advancedSearch');
                jQuery.ajaxSettings.traditional = true;

                if ($.fn.DataTable.isDataTable('#tbDocumentsList')) {
                    table.destroy();                    
                }

                initializeDataTable(searchParameters);

            });

我确信有更好的方法可以做到这一点,这是我第一次使用数据表,可能我遗漏了一些东西,有人知道吗?

你可以在这里看到完整的 jsfiddle

https://jsfiddle.net/dalps/gxgLdo03/

我也在datatable论坛上问过:

http://datatables.net/forums/discussion/33563/datatable-destroy-function-not-working-as-expected#latest

提前致谢

达尔普斯

【问题讨论】:

    标签: datatable destroy


    【解决方案1】:

    好吧,我在数据表论坛上得到了答案:我的 html 表有 5 列,在“columndefs”属性上我有以下内容:

    “目标”:5, “数据”:“活动”, “可见”:假

    由于列索引从零开始,我引用了一个不存在的列,解决方案,向表中添加一个新列

    【讨论】:

      猜你喜欢
      • 2013-08-29
      • 2020-04-28
      • 2021-08-27
      • 1970-01-01
      • 2012-10-07
      • 2014-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多