【问题标题】:table.row is not a function in datatablestable.row 不是数据表中的函数
【发布时间】:2016-03-05 21:20:13
【问题描述】:

我正在使用 jQuery DataTables 1.9.4。在尝试使用数据表模块时,我收到了上述错误。通过 SO,我看到很多人建议使用大写字母 DataTable({}) 而不是小写字母 dataTable({}),但仍然出现错误。

var table = $("#example1").DataTable();
        $('#example1 tbody').on('click', 'tr', function () {
            var data = table.row(this).data();                
        });

注意这是一个 ASP.NET MVC 项目

<table id="example1" class="table table-bordered table-striped">
                                        <thead>
                                            <tr>
                                                <th>@Html.DisplayNameFor(model => model.FirstName)</th>
                                                <th>@Html.DisplayNameFor(model => model.Surname)</th>
                                                <th>@Html.DisplayNameFor(model => model.MiddleName)</th>
                                                <th>@Html.DisplayNameFor(model => model.DateOfBirth)</th>
                                                <th>@Html.DisplayNameFor(model => model.Department)</th>

                                            </tr>
                                        </thead>
                                        <tbody>
                                            @foreach (var item in Model)
                                            {
                                                <tr>
                                                    <td>@Html.DisplayFor(modelItem => item.FirstName)</td>
                                                    <td>@Html.DisplayFor(modelItem => item.Surname)</td>
                                                    <td>@Html.DisplayFor(modelItem => item.MiddleName)</td>
                                                    <td>@Html.DisplayFor(modelItem => item.DateOfBirth)</td>
                                                    <td>@Html.DisplayFor(modelItem => item.Department)</td>
                                              </tr>
                                            }
                                        </tbody>
                                    </table>

【问题讨论】:

  • 你的DataTable是否被正确初始化了?向我们展示表格 html
  • @EricGuan 我已经用表格标记更新了我的问题
  • 我很确定您遇到了缓存问题。确保您的浏览器正在加载正确版本的 JS。即使您的标记或其他内容无效,即使您在初始化时收到令人讨厌的警报 - 您仍然会收到带有您可以使用的 API 的表引用。
  • @davidkonrad 我启动浏览器时始终打开 Chrome 的开发工具,因此缓存不是问题
  • @kolexinfos,如果你没有关闭缓存也没关系 :) 网络 -> 禁用缓存 -> 重新加载

标签: javascript jquery asp.net-mvc twitter-bootstrap datatables


【解决方案1】:

您正在使用 jQuery DataTables 1.9.4。

API 方法 row() 仅在 jQuery DataTables 1.10+ 中可用。

看看你是否可以升级你的库,它是向后兼容的。

【讨论】:

  • 这是否与我的行相同,但未在相同版本中找到它
  • @csharpdudeni77,是的,this page 上列出的所有 API 方法都是一样的。
猜你喜欢
  • 2014-10-26
  • 2017-03-10
  • 2020-06-29
  • 2016-01-22
  • 1970-01-01
  • 2014-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多