2017-08-12 123 views
0

我想使用jQuery UI的自動完成功能,但我有一個問題。jquery ui autocomplete錯誤不是函數

我使用谷歌的外部庫:

\t <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', 
 
});

我個人有T他的錯誤:

jQuery.Deferred exception: $(...).autocomplete is not a function TypeError: $(...).autocomplete is not a function

at HTMLDocument. (http://localhost/sitename/script.js:382:16) at j (https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js:2:29948) at k (https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js:2:30262) >undefined

回答

1

你還需要在包含jquery-ui之前將JQuery本身包含到你的項目中。爲了能夠解析這個,

$("#search") 

,JQuery本身是必需的。在你的其他腳本之前嘗試從谷歌包括這個。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
+0

此外,jquery-ui.min.js文件本身中包含JQuery,所以主JQuery文件是必需的。 JQuery-UI只是一個擴展。 :) –

+0

這是問題,因爲我已經包含JQuery。所以我真的不知道爲什麼它不工作 – Dilak

+0

我能夠重新創建問題,但只有當我選擇ACTUAL DOM元素本身而不是JQuery元素。如document.getElementById('search')。autocomplete()或$('search')[0] .autocomplete()。但似乎你選擇正確的方式,所以我不知道發生了什麼。您可以嘗試以下幾件事: 將自動完成功能包裝到 '$(document).ready(function(){ });' 或預選jQuery元素: var search = $('#search' ); search.autocomplete(....); 這是我所能想到的。 –