0

我在我的网页中使用jquery.ui.autocomplete 和 datepicker来实现。
作为单独的文件

  • jquery.ui.datePicker.js
  • jquery.ui.autocomplete.js

使用以下简单代码

var availableTags = ["ActionScript", "AppleScript", "Asp", "BASIC", "C", "C++",
"Clojure", "COBOL", "ColdFusion", "Erlang", "Fortran", "Groovy", "Haskell",
"Java", "JavaScript", "Lisp", "Perl", "PHP", "Python", "Ruby", "Scala", "Scheme"];

$("#City").autocomplete({
        source: availableTags
});

但是,我无法让它按预期在网页中运行,但datepicker运行良好。 抱歉,我无法在 jsfiddle 中重现此行为。

来自控制台的错误: 指向 jquery.ui.autocomplete.js 文件

Uncaught TypeError: Object [object Object] has no method 'menu'
jquery.ui.autocomplete.js:185

我已经正确导入了 js 和 css。请分享您的建议

jQuery 版本:1.8.2
jQuery UI 版本:1.9.2

4

1 回答 1

1

我不知道您是如何获得 jQuery UI 脚本文件的,但这些组件通常不会出现在单独的脚本中。

自动完成插件依赖于定义插件的CoreWidgetPositionMenumenu

我建议你使用整个脚本库,例如

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>

如果您坚持使用单独的组件文件,您还需要CoreWidgetPositionMenu ,尽管我不推荐这种方法。

如果必须的话,您可以通过用您自己的(使用原型继承)覆盖它们的实现来自定义插件,但我当然不会重写源文件。

于 2013-09-11T05:23:57.413 回答