2011-12-08 26 views
3

我試圖在Rails 3.1.3應用程序中引入jQuery UI自動完成功能。它沒有做任何事情,在Chrome開發者工具檢查腳本,我看到以下內容:jQuery UI自動完成引發未捕獲的TypeError:對象沒有方法'自動完成'

jQuery(function() { 
    return $("#location").autocomplete({ 
    locations.js:3 Uncaught TypeError: Object #<Object> has no method 'autocomplete' 
    source: ["foo", "food", "four"] 
    }); 
}); 

我已經包括jQuery用戶界面中的application.js:

//= require jquery 
//= require jquery-ui 
//= require jquery_ujs 
//= require_tree . 

我的CoffeeScript有如下:

jQuery -> 
    $('#location').autocomplete 
    source: ["foo", "food", "four"] 

我錯過了什麼!?

+0

jQuery和jQuery UI是否加載到文檔? 檢查開發人員工具中的網絡選項卡。 在文檔準備好後,您是否調用$('#location')。autocomplete()? – anderssonola

+0

@soderslatt是的。我看到jquery.js然後jquery-ui.js,然後在locations.js之前的其他人。 「jQuery - >」爲我準備好文檔。 – hgujral

+1

您是否包含Prototype等其他JavaScript庫?這可能是一個jQuery衝突問題。 http://api.jquery.com/jQuery.noConflict/ – anderssonola

回答

2

事實證明,因爲我也有active_admin,「// = require_tree」。正在從active_admin/vendor路徑添加jQuery的舊版本,該路徑刪除了自動填充方法。擺脫了「// = require_tree」。現在並明確添加「// =需要位置」,它工作得很好。

+0

爲了增加,同樣的事情基本上發生在我身上,但是因爲我使用的是WYMeditor,而且它還帶有舊版本的JQuery。 –

+0

你可以請一步一步解釋這一點嗎?我有同樣的錯誤,但我使用引導程序。 – Faizan