2010-07-22 66 views
32

我已經在輸入字段上實現了自動完成功能,但是該框並未顯示出來,而螢火蟲返回「this.source不是函數」。我在同一頁面的其他字段上使用了自動完成,沒有任何問題。 (兩個textarea's)。jquery autocomplete this.source不是函數錯誤

我使用下面的代碼進行調試,如果從腳本文件或Firebug命令行運行,效果相同。

var fakedata = ['test1','test2','test3','test4','ietsanders']; 
$("#omschrijving").autocomplete(fakedata); 

運行jquery 1.4.2和jquery ui 1.8.2,兩個縮小版本。

有沒有人有一個想法如何autocomplete在textareas上工作正常,但導致輸入故障?

錯誤&堆棧跟蹤:

this.source is not a function 
http://facturatie.autodealers.nl/dev/resources/js/jquery-ui-1.8.2.custom.min.js 
Line 570 
close(Object { name="a"})jquery....min.js (regel 570) 
close(Object { name="a"}, Object { name="c"})jquery....min.js (regel 570) 
response() 
+0

哪個自動完成插件您使用的?有幾種變體。 – Pointy 2010-07-22 12:47:08

+0

你可以打開firebug中的堆棧跟蹤併發布出現這種情況的函數嗎? – Maz 2010-07-22 12:47:35

+0

我使用jQuery UI庫的1.8.2版捆綁的jQuery UI自動完成功能。 在堆棧跟蹤上工作 – 2010-07-22 12:49:31

回答

54

回答是自動完成的第一個參數應爲包含「源」屬性的對象。這工作

var fakedata = ['test1','test2','test3','test4','ietsanders']; 
$("#omschrijving").autocomplete({source:fakedata}); 
+1

沒有那麼尷尬,因爲它在一些文檔中表示不同。你如何猜測? – 2011-12-07 16:43:07

+1

另外,如果'source'是一個帶有鍵的對象,比如'{a:A,b:B,c:C}',你可能會看到這個錯誤或者類似的錯誤。應該只是單個值,如在「{」A「,」B「,」C「}中。 – ctlockey 2017-09-20 02:59:11

+0

在我的情況下,'$(「。div」)。autocomplete();'我有這個錯誤,因爲類'.div'不存在 – 2017-10-19 16:45:09

4

由於謝爾頓指出,從devbridge.com(1.1.3)版本使用jQuery UI(1.8.4)碰撞。通過確保在jQuery UI版本之後加載devbridge版本來實現它。

1

對tagedit/autocomplete有類似的問題。看起來你也想禁用自動完成功能。將源設置爲false可避免這些錯誤。

解決方案:

options.autocompleteOptions.source = false; 
相關問題