2015-12-28 54 views
3

我正在嘗試在搜索字段上設置自動完成功能。我正在使用rails4-autocomplete gem。我已閱讀這裏的文檔:https://github.com/peterwillcn/rails4-autocomplete,並遵循所有步驟使其工作,並確實有效。我開始在搜索框中輸入內容,並得到我期望的結果。未捕獲TypeError:使用rails4-autocomplete時this.source不是函數

我的下一步是實現一鍵式搜索功能。當我點擊其中一條自動填寫建議時,我希望該網站轉到該項目的相應頁面。我曾經建議此頁面調用自動完成魔術的Rails上在http://www.yoniweisbrod.com/autocomplete-magic-with-rails/

基本上你添加一個事件掛鉤時選擇了一個項目時提交的搜索按鈕。

$(document).ready(function() { 
    $('.search-query').bind('railsAutocomplete.select', function(event, data { 
    $('.search-me').trigger('click') 
    }); 
}); 

這類作品的,當我實現它,正如有時當我點擊我希望它去的頁面,而其他時候它不會去任何地方的項目。它只是用物品信息填充文本框,但不提交。在這些情況下,我得到一個jQuery的錯誤,上面寫着:

Uncaught TypeError: this.source is not a function - autocomplete.self-3befc48aba87cead090cfd014562b2771a662ac6d2c8197b24c08b2d9f3d9f2d.js?body=1:440 

刷新頁面修復了問題,這使我想到我的javascript並沒有按照正確的順序加載。所以我實現了jQuery Turbolinks gem,以確保我的jQuery事件總是在沒有頁面刷新的情況下加載。這沒有幫助。

參考,我的jQuery如下所示:

$("#username").autocomplete({ html: true }); 

設置HTML選項設置爲true讓我來渲染HTML在搜索結果中。

我一直在谷歌搜索,但迄今沒有運氣。任何想法,任何人?謝謝!

回答

0

我相信你,你沒有添加源到autocomplete:您的建議

var data = ['one', 'two']; 
$("#your-id").autocomplete({ 
    data 
}); 
+0

感謝。不幸的是,指定自動完成的來源似乎沒有什麼區別。 – Nic

+0

試試這個:'$(「#your-id」)。autocomplete({source:data}); –

+0

這正是我所做的,但沒有運氣:$(「#username」).autocomplete({html:true},{source:source_array}); – Nic

相關問題