jQuery的数据表和ColVis插件错误“无法读取的未定义的属性‘sWidth’”

问题描述 投票:2回答:5

使用jquery.datatables与ColVis插件插件,我收到此错误,当我删除列:

“无法读取的未定义的属性‘sWidth’”。我一直没能在网上找到一个解决这个错误。

我不知道是什么导致了错误,虽然我有,我想张贴谁遇到这个问题对方的利益修复。

我使用的是从http://datatables.net/ jquery.datatables 1.9.4。

javascript jquery datatables
5个回答
20
投票

我有这个错误时列的数

<thead></thead>

来自柱的在许多不同的

$('#ls-table').DataTable($.extend({}, window.coonDataTableOptions, {
    columns: [
         <here>
    ]
 }));

4
投票

对数据表的源代码的行3255是这行代码:

nThs[i].style.width = o.aoColumns[iVis].sWidth;

在这种情况下o.aoColumns [IVIS]为空,因为由索引表示的列刚刚被隐藏。好像我已经运行到该插件的创作者也没想到会有一个角落的情况。上面的代码被调用响应于内部数据表事件,这是由一个由ColVis称为当列被隐藏方法所触发。所有需要解决,这是改变上面的代码:

var column = o.aoColumns[iVis];

if(column != null) {
    nThs[i].style.width = o.aoColumns[iVis].sWidth;
}

不幸的是这需要修改的核心插件代码,但我会在一个bug报告,并希望他们很快解决这个问题。在此期间,希望这可以帮助人们寻找一种解决方法。


1
投票

发生这样的错误只是由于内部填充列

...数据表(... “列”:...)

与定义的HTML页面不匹配拥有的列数。

.. ..


0
投票

使用$("thead").empty();mainTable.clear().destroy().draw();

问题就在这里上的数据表;一旦从jquery的加载到HTML5数据“THEAD”的数据表的jquery例如。 mainTable.clear().destroy().draw();无法删除THEAD数据,以便该溶液是使用jquery .empty()将其删除。

别客气 :)


-2
投票

搜索a.aoColumns[D].sWidth,更换

 var column = a.aoColumns[D];if(column != null) {c.style.width=a.aoColumns[D].sWidth} 
© www.soinside.com 2019 - 2024. All rights reserved.