我正在尝试实现jquery-ui的自动完成功能,但我似乎遗漏了一些非常重要的东西。我正在遵循Railscasts (也可以在Youtube上找到)上的这些指南。但我使用的是Rails5.1和相应的yarn
,而不是gem。
此外,我还想提一下,我已经实现了datepicker
和tabs
,并且运行良好。
下面是package.json
的依赖项:
"dependencies": {
"jquery": "^3.3.1",
"jquery-ui": "^1.12.1",
"rails-ujs": "^5.2.0",
"turbolinks": "^5.1.1"
},
因此,在我的application.js
的顶部,我有这个:
//= require jquery
//= require jquery-ui/ui/widget
//= require jquery-ui/ui/widgets/datepicker
//= require jquery-ui/ui/widgets/autocomplete
//= require jquery-ui/ui/widgets/tabs
在底部:
$(document).on('turbolinks:load', function() {
$("#high_edu_name").autocomplete({
source: $('#high_edu_name').data('autocomplete-source')});
});
我在页面加载时收到以下错误:
TypeError: $(...).appendTo(...).menu is not a function
来自autocomplete.js:215:15
当我尝试在文本字段中键入内容时,得到的结果是:
TypeError: keyCode is undefined
提前感谢!
发布于 2018-06-07 10:01:44
好吧,缺少关于通过纱线安装的文档是令人尴尬的…
我成功了--它需要明确地定义:
//= require jquery-ui/ui/widgets/menu
//= require jquery-ui/ui/keycode
//= require jquery-ui/ui/position
//= require jquery-ui/ui/version
结果如下所示:
//= require jquery
//= require jquery-ui/ui/widget
//= require jquery-ui/ui/widgets/menu
//= require jquery-ui/ui/keycode
//= require jquery-ui/ui/position
//= require jquery-ui/ui/version
//= require jquery-ui/ui/widgets/datepicker
//= require jquery-ui/ui/widgets/autocomplete
//= require jquery-ui/ui/widgets/tabs
https://stackoverflow.com/questions/50737734
复制