调用除默认数据表之外的另一个数据表

时间:2017-12-08 02:18:25

标签: javascript jquery datatable

我得到Uncaught TypeError: Cannot set property '_DT_CellIndex' of undefined

问题是,我有默认表。

$("#mainFolder").dataTable();

在我的项目中,默认表是大部分数据。

在这种情况下,我想添加新表。

我使用$(".tab-content table").dataTable();使新表具有“数据表视图”。 。

但是,它会显示没有' DataTable View'的默认表格。首次显示页面时。

enter image description here

当我在for循环之后使用$("#mainFolder").dataTable();并在tab-content容器中的所有表上调用dataTable()时:

for (var i = 0; i < resultTable.length; i++) {
    var items = resultTable[i];
    $(".tab-content").append(items.table);
}

$(".tab-content table").dataTable();

我会得到Uncaught TypeError: Cannot set property '_DT_CellIndex' of undefined .

  

如何在没有获得Uncaught TypeError: Cannot set property '_DT_CellIndex' of undefined .的情况下如何使用

JSFiddle Demo 1

JSFiddle Demo 2

1 个答案:

答案 0 :(得分:1)

此处讨论此问题: https://datatables.net/forums/discussion/32575/uncaught-typeerror-cannot-set-property-dt-cellindex-of-undefined

  

在一个dataTable中,它有0个条目,但是有一个没有标题或a的列   just()的标题。 (例如,具有操作按钮的列   没有标题),这会导致像原始报告中的JS错误。

     

一旦表中的行数达到,就会立即解决此问题   大于0。

您的第一个标题栏为空,nameof。尝试添加不间断的空格<th></th>或单个字符,例如<th>&nbsp;</th>,并查看是否可以修复它。

此外,第一次运行时,您不会在表上调用.dataTable。您尝试使用以下行加载<th>*</th>

localStorage

这导致var resultTable = JSON.parse(localStorage.getItem("tableList")); ,因此执行null

else

这会将您的表格html添加到} else { let inititalTable = []; inititalTable.push({ table: $('div.tab-content').html() }); localStorage.setItem("tableList", JSON.stringify(inititalTable)); } 。但它不会在桌面上调用.dataTable。

对于此localStorage代码,您可以添加else。或者你可以将它移出if if,并把它放在底部:

$(".tab-content table").dataTable();