【发布时间】:2011-12-10 04:45:20
【问题描述】:
我正在尝试将 jQuery UI 自动完成功能引入 Rails 3.1.3 应用程序中的小部件。它没有做任何事情,并且在检查 Chrome 开发人员工具中的脚本时,我看到以下内容:
jQuery(function() {
return $("#location").autocomplete({
locations.js:3 Uncaught TypeError: Object #<Object> has no method 'autocomplete'
source: ["foo", "food", "four"]
});
});
我在 application.js 中包含了 jQuery UI:
//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require_tree .
我的咖啡脚本有以下内容:
jQuery ->
$('#location').autocomplete
source: ["foo", "food", "four"]
我错过了什么!?
【问题讨论】:
-
jQuery 和 jQuery UI 是否已加载到文档中?检查开发人员工具中的网络选项卡。你在文件准备好后调用 $('#location').autocomplete() 吗?
-
@soderslatt 是的。我看到 jquery.js,然后是 jquery-ui.js,然后是其他一些,然后是 locations.js。 "jQuery ->" 为我准备好文档。
-
您是否包含任何其他 JavaScript 库,例如 Prototype ?这可能是一个 jquery 冲突问题。 api.jquery.com/jQuery.noConflict
-
@soderslatt 感谢您的评论。它引导我进行调查,结果发现因为我也有 active_admin,“//=require_tree”。正在从删除自动完成方法的 active_admin/vendor 路径中添加旧版本的 jQuery。摆脱了“//=require_tree”。现在并明确添加了“//=需要位置”,现在它工作正常。谢谢。
标签: jquery-ui autocomplete ruby-on-rails-3.1