数据表警告(表 id = 'ideas'):无法重新初始化数据表

Posted

技术标签:

【中文标题】数据表警告(表 id = \'ideas\'):无法重新初始化数据表【英文标题】:Datatables warning (table id = 'ideas'): cannot reinitialise data table数据表警告(表 id = 'ideas'):无法重新初始化数据表 【发布时间】:2013-06-12 23:55:25 【问题描述】:

我正在使用数据表并向 JS 代码添加选项,这些更改有效,但我不断收到弹出警告。如何停止警告?

$(document).ready(function() 
    $('#ideas').dataTable( 
        "aLengthMenu": [[5, 10, 15, -1], [5, 10, 50, "All"]]
    );
);

【问题讨论】:

+1 和答案在这里 Link1 和 Link2 【参考方案1】:

如果您只是想摆脱警告框(例如“停止警告”),请将其添加为 $(document).ready 的第一行:

$.fn.dataTableExt.sErrMode = 'throw';

现在数据表将在控制台中抛出一个错误,显示为“未捕获的错误:数据表警告 ...”,而不是丑陋的警报框。

但是,无论现在以静默方式抛出错误,您的代码/数据中都会出现错误。

错误 当<table> 中的列数不匹配时,会引发“DataTables 警告(表 id = 'XXX'):从数据源请求行 X 的未知参数 'XXX'”以及数据中的列数。

<thead>
  <th>col A</th>
  <th>col B</th>
</thead>

插入

<tr>
  <td>test test</td>
</tr>

<tr>
  <td colspan="2">test test</td>
</tr>

会完全重现该错误。所以再次检查你的数据..

【讨论】:

【参考方案2】:

您应该使用 "bDestroy": true 道具以便在回发期间填充表格

【讨论】:

【参考方案3】:

您是否动态填充数据?然后,在填充数据后移动您的脚本。

类似的,

$(document).ready(function() 
    $('#example').dataTable( 
        "bProcessing": true,
        "sAjaxSource": "sources/arrays.txt",
        "aLengthMenu": [[5, 10, 15, -1], [5, 10, 50, "All"]]
    );
);

【讨论】:

【参考方案4】:

你应该使用 "bDestroy": true

替换与给定选择器匹配的 DataTable,并将其替换为传递了新初始化对象属性的数据表。如果没有表匹配选择器,则新的DataTable将正常构造。

$(document).ready(function() 
    $('#ideas').dataTable(
        "aLengthMenu": [[5, 10, 15, -1], [5, 10, 50, "All"]],
        "bDestroy": true 
    );
);

在创建破坏先前数据表对象的新数据表之前,请尝试此操作。

$(document).ready(function() 
    $("#ideas").dataTable().fnDestroy();
    $('#ideas').dataTable(
        "aLengthMenu": [[5, 10, 15, -1], [5, 10, 50, "All"]]
    );
);

【讨论】:

以上是关于数据表警告(表 id = 'ideas'):无法重新初始化数据表的主要内容,如果未能解决你的问题,请参考以下文章

无法删除索引或重命名表 PHPmyadmin

Mybatis---03解决SQL映射文件的警告提示:

DataTables 警告(表 id = 'table-filter'):从数据源请求未知参数 '0' 用于数据表中的第 0 行错误

VSCode无法写入用户设置 请打开用户设置并清除错误或警告, 然后重式

VSCode无法写入用户设置 请打开用户设置并清除错误或警告, 然后重式

DataTables 警告:表 id=users - Ajax 错误。使用 jquery 将参数传递给它时