我正在尝试使自动完成工作,但Firebug正在向我显示此错误:
TypeError:$(...)。autocomplete不是函数。
我不知道为什么它不起作用,因为我导入了所有正确的文件以使我的自动完成工作。 这是我的图书馆:
<script type="text/javascript" src="<c:url value="resources/js/jquery.js"/>"></script>
<script src="<c:url value="/resources/js/jquery/1.10.2/jquery-ui.min.js"/>" ></script>
<script src="<c:url value="/resources/plugins/autocomplete/jquery.autocomplete.js"/>" ></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
这是我用于自动完成的行:
<script>
$("#services_autocomplete").autocomplete("getcountries.jsp");
</script>
答案 0 :(得分:0)
仅加载jquery一次,并将其作为第一个加载。 这将解决您的问题。
答案 1 :(得分:0)
确保您只包含一个 jQuery版本。来自Google API的那个是不必要的,也完全过时了。
然后检查是否真的加载了jQuery,jQuery UI和你的自动完成插件。即查看Net panel内的内容,看看它们是否以黑色列出(而不是红色)。或者您也可以查看Script panel,看看'jquery.js','jquery-ui.min.js'和'jquery.autocomplete.js'是否列在其脚本位置菜单中。
如果它们是红色/不存在,则文件的路径是错误的。
如果所有文件都包含正确,您仍然需要将autocomplete()
函数的调用放入$()
,以确保在页面完全加载后执行该文件:
$(function(){
$("#services_autocomplete").autocomplete("getcountries.jsp");
});
有关详细信息,请参阅documentation for the .ready()
函数。