数据表警告(表 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'):无法重新初始化数据表的主要内容,如果未能解决你的问题,请参考以下文章
DataTables 警告(表 id = 'table-filter'):从数据源请求未知参数 '0' 用于数据表中的第 0 行错误
VSCode无法写入用户设置 请打开用户设置并清除错误或警告, 然后重式