我正试图在数据表中实现行细节,就像这个例子一样。
当我点击显示我桌子的更多图像时,我的firebug控制台中出现了一个错误,上面写着:
TypeError: oTable.row is not a function
var row = oTable.row(tr);
这也是我的代码中产生这个错误的一部分。
据我所知,我的数据表的row()
函数找不到。但我不明白…我使用最新的数据表版本和jquery版本1.11.1(而不是如fiddle所示的1.11.0),这也是示例中使用的(在数据表网站上)。
我被卡住了。。。有人知道我为什么会出现这个错误吗?
非常感谢
我不知道dataTable
和DataTable
函数之间有什么区别,但当我使用第二个函数初始化数据表时,您的代码就工作了。
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({ ...