Jquery ui自动完成错误不是一个功能
Posted
技术标签:
【中文标题】Jquery ui自动完成错误不是一个功能【英文标题】:Jquery ui autocomplete error not a function 【发布时间】:2018-01-20 19:55:28 【问题描述】:我想用jquery ui的自动补全功能,但是遇到了问题。
我用的是google的外部库:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
< script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js" > < /script>
我的自动完成脚本
$("#search").autocomplete(
source: 'autocomplete-search.php',
);
我有这个错误:
jQuery.Deferred 异常:$(...).autocomplete 不是函数 TypeError: $(...).autocomplete 不是函数
在 htmlDocument。 (http://localhost/sitename/script.js:382:16) 在 j (https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js:2:29948) 在 k (https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js:2:30262) >未定义
【问题讨论】:
【参考方案1】:您还需要在 jquery-ui 包含之前将 JQuery 本身包含到您的项目中。为了能够解析这个,
$("#search")
,JQuery 本身是必需的。尝试在您的其他脚本之前包含来自 google 的此内容。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
【讨论】:
另外,jquery-ui.min.js文件本身就有JQuery,所以需要JQuery主文件。 JQuery-UI 只是一个扩展。 :) 这就是问题所在,因为我已经包含了 JQuery。所以我真的不知道为什么它不起作用 我能够重新创建问题,但只有当我选择 ACTUAL DOM 元素本身而不是 JQuery 元素时。例如 document.getElementById('search').autocomplete() 或 $('search')[0].autocomplete() 。但是您似乎选择了正确的方式,所以我不确定发生了什么。您可以尝试几件事:将自动完成功能包装在$(document).ready(function() );
中或预先选择 jquery 元素: var search = $('#search'); search.autocomplete(....);我能想到的就这么多了。
并确保在 jquery-ui 文件之前包含实际的 jquery 文件。顺序很重要
以下是我的确切文件工作。如果这不起作用,那么肯定是代码以外的东西。尝试清除浏览器的缓存,或使用其他浏览器。
以上是关于Jquery ui自动完成错误不是一个功能的主要内容,如果未能解决你的问题,请参考以下文章