【问题标题】:table.row is not a functiontable.row 不是函数
【发布时间】:2014-10-26 08:33:08
【问题描述】:

我正在尝试在我的datatables 中实现行详细信息,就像example 一样。

当我点击显示我的表格的更多图像时,我的萤火虫控制台中出现错误提示:

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

这也是我生成此错误的代码的fiddle

据我了解,我的数据表的 row() 函数未找到。但我不明白...我使用最新的数据表版本和 jquery 版本 1.11.1(而不是小提琴中所示的 1.11.0),这也是示例中使用的(在数据表网站上)。

我被卡住了...有人知道我为什么会收到此错误吗?

非常感谢

【问题讨论】:

标签: jquery datatables jquery-datatables


【解决方案1】:

我不知道dataTableDataTable 函数有什么区别,但是当我使用第二个函数初始化数据表时,您的代码有效。

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

这里是fiddle,它只在未定义的format函数上报错。

注意:我已根据this example 更改了该函数名称。

更新: 我做了一些研究并得到了答案。查看升级说明 here,其中包含以下内容:

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

【讨论】:

  • 啊!这就是问题所在。我花了一些时间调试这个。最后,将 dataTable 更改为 DataTable 有所帮助。谢谢!!
  • 太棒了!奇迹般有效!谢谢
  • 好人!我只是在小写的“d”上浪费了两个小时。
【解决方案2】:

不需要使用.DataTable() 代替dataTable()

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

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

【讨论】:

  • 非常感谢您的回答,我遇到了同样的问题@U。卡德纳
  • 感谢您明确指出,DataTables() 类似于 dataTables() 的包装。
  • @U. Kadner,我无法通过谷歌搜索找到很好的答案。有什么可以参考的链接吗?
【解决方案3】:

这是因为你没有提到Function

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

【讨论】:

    【解决方案4】:

    如果上述答案在您的情况下不起作用,请尝试以下替代方法。

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

    代替

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

    【讨论】:

      【解决方案5】:

      更新dataTable() wuth DataTable() 不需要使用.dataTable()

      使用.DataTable()

      例子:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-06
        • 2019-12-20
        • 1970-01-01
        • 2021-12-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多