Jam*_*mes 20 javascript jquery datatables twitter-bootstrap
我正在使用jQuery Datatables插件来启用分页,排序和搜索我的表.元素出现但不起作用,有时只会出现分页.在Chrome控制台中,我收到错误消息:
Uncaught TypeError: Cannot use 'in' operator to search for 'length' in
Run Code Online (Sandbox Code Playgroud)
我在这个插件旁边使用Bootstrap.
Dhi*_*raj 33
该错误是因为isArraylikejQuery版本1.11.3 中的方法.(只要).该方法看起来像这样
function isArraylike( obj ) {
// Support: iOS 8.2 (not reproducible in simulator)
// `in` check used to prevent JIT error (gh-2145)
// hasOwn isn't used here due to false negatives
// regarding Nodelist length in IE
var length = "length" in obj && obj.length, // <------ THIS IS THE CULPRIT
type = jQuery.type( obj );
.......
}
Run Code Online (Sandbox Code Playgroud)
那个版本的jQuery在对象中使用"length"来获取长度.(我对此一无所知).
但我知道没有其他版本的jquery有这个问题.
版本1.11.3和2.1.4(正如詹姆斯在评论中指出的那样)存在这个问题.
所以解决方案是只升级到下一个版本或者至少使用除1.11.3或2.1.4之外的任何其他版本
我正在使用gem jquery-datatables-rails处理Ruby on Rails.
我直接从GitHub上次提交更新gem:
gem 'jquery-datatables-rails', github: "rweng/jquery-datatables-rails", branch: "master"
Run Code Online (Sandbox Code Playgroud)
这项工作对我来说,我想他们将很快发布这个提交的新版本的gem.
升级到DataTables到DataTables 1.10.7或者 1.10.8-dev对我不起作用(使用jQuery 1.11.3).
降级到jQuery 1.11.2确实有效(使用DataTables 10.0.0)
| 归档时间: |
|
| 查看次数: |
36643 次 |
| 最近记录: |