jQuery DataTables 错误 - TypeError: Cannot read property 'fnInit' of undefined。

13

我遇到了这个错误:

Uncaught TypeError: Cannot read property 'fnInit' of undefined

jquery.dataTables.js:2872

DataTable.ext.oPagination[ oSettings.sPaginationType ].fnInit( oSettings, nPaginate, 
                function( oSettings ) {
                    _fnCalculateEnd( oSettings );
                    _fnDraw( oSettings );
                }
            );

表格已经正确放置,我认为问题不在 HTML 上。


一个小测试程序会很有帮助。 - rpax
你的代码中似乎没有包含应该被调用的'fnInit'函数的JS库。 - eloleon
我和 @rrsuh 有一样的问题 - 在我的 datatable 设置中,"sPaginationType": "bootstrap" 是无效的数字 - 把它改成 "sPaginationType": "full_numbers" 对我来说解决了这个问题。 - Ron
1个回答

36

原因

问题似乎在于您使用了不支持的值,用于 sPaginationTypepagingType 选项。

解决方案

DataTables 1.10

默认情况下,选项pagingType 支持以下值:

  • numbers - 只显示页码按钮(1.10.8+)
  • simple - 只显示“上一页”和“下一页”按钮
  • simple_numbers - 显示“上一页”、“下一页”按钮和页码
  • full - 显示“第一页”、“上一页”、“下一页”和“最后一页”按钮
  • full_numbers - 显示“第一页”、“上一页”、“下一页”、“最后一页”按钮和页码

DataTables 1.9

默认情况下,选项sPaginationType 支持以下值:

  • two_button - 显示“上一页”和“下一页”按钮
  • full_numbers - 显示“第一页”、“上一页”、“下一页”和“最后一页”按钮以及页码

你好@Gyrocode.com,我正在使用1.10的datatablepagingType不支持input吗?我想要显示一个跳转到页面的输入框。 - natsumiyu
@natsumiyu,input是默认不支持的额外选项。您需要包含额外的JS文件以添加对input分页类型的支持。有关更多信息,请参见input插件。 - Gyrocode.com

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接