table.row不是一个函数



我正试图在数据表中实现行细节,就像这个例子一样。

当我点击显示我桌子的更多图像时,我的firebug控制台中出现了一个错误,上面写着:

TypeError: oTable.row is not a function
var row = oTable.row(tr);

这也是我的代码中产生这个错误的一部分。

据我所知,我的数据表的row()函数找不到。但我不明白…我使用最新的数据表版本和jquery版本1.11.1(而不是如fiddle所示的1.11.0),这也是示例中使用的(在数据表网站上)。

我被卡住了。。。有人知道我为什么会出现这个错误吗?

非常感谢

我不知道dataTableDataTable函数之间有什么区别,但当我使用第二个函数初始化数据表时,您的代码就工作了。

 oTable = $('#tblCasesMain').DataTable({ ...

这是fiddle,它只在未定义的format函数上给出错误。

注意:我已经根据这个例子更改了函数名。

更新:我做了一些研究并得到了答案。请查看此处的升级说明,其中说明如下:

如果您是从DataTables 1.9或更早版本升级的,您可能会注意到大写的D用于初始化此处的DataTable$().DataTable()返回一个DataTables API实例,而$().DataTables()也将初始化一个DataTable,但返回jQuery对象

不需要使用.DataTable()而不是dataTable()

只需附加.api()即可。它将返回定义所需row()方法的对象。

例如:var row = oTable.api().row(tr);

如果以上答案在您的情况下不起作用,请尝试下面的备选答案。

var row = $('#tblSample').DataTable().row(tr);

代替

var oTable =  $('#tblSample').dataTable( {
    //Code
 });
var row = oTable.row(tr);

这是因为您没有提到Function

检查更新工作链接http://jsfiddle.net/2gLqgL7m/7/

使用DataTable()更新dataTable()无需使用.dataTable()

使用.DataTable()

示例:

oTable = jQuery('#tblCasesMain').DataTable({ ...

最新更新