我使用rails3-jquery-autocomplete插件,我只是想知道如何使用它來完成多個單詞的自動完成。如何爲多個單詞使用rails3-jquery-autocomplete插件自動完成
例如INPUT軌道,寶石 它應該產生兩次自動列表。
如何解決這個問題?
我使用rails3-jquery-autocomplete插件,我只是想知道如何使用它來完成多個單詞的自動完成。如何爲多個單詞使用rails3-jquery-autocomplete插件自動完成
例如INPUT軌道,寶石 它應該產生兩次自動列表。
如何解決這個問題?
rails3-jquery-autocomplete plugin?它似乎不支持多個自動完成,你需要修改插件代碼! 如果你堅持你以前的想法,請按照我的步驟。
bundle show rails3-jquery-autocomplete
讓插件工作directroy修改define_method
這樣的:
define_method("autocomplete_#{object}_#{method}") do
arr = params[:term].split(",")
unless params[:term] && params[:term].empty?
items = object.to_s.camelize.constantize.where(["LOWER(#{method}) LIKE ?", "#{arr[arr.size-1]}%"]).limit(limit).order(order)
else
items = {}
end
render :json => json_for_autocomplete(items, method)
末
修改autocomplete-rails.js
像這 function split(val) { return val.split(/,\s*/); } function extractLast(term) { return split(term).pop(); } $(document).ready(function(){ $('input[autocomplete]').each(function(i){ $(this).autocomplete({ source: $(this).attr('autocomplete'), focus: function() { return false; }, select: function(event, ui) { var terms = split(this.value); // remove the current input terms.pop(); // add the selected item terms.push(ui.item.value); // add placeholder to get the comma-and-space at the end terms.push(""); this.value = terms.join(","); return false; } }); }); });
重新啓動服務器,並嘗試
!請記住,在運行軟件包安裝後,最好備份autocomplete.rb以避免覆蓋。
祝你好運!
rails3-jquery-autocomplete現在支持使用數據分隔符選項,以便您不再需要破解它指定一個分隔符:
f.autocomplete_field:標籤,autocomplete_tag_business_path,「數據分隔符」 =>「」
我在嘗試應用上面的黑客時發現它,並發現它不是必需的。對我很好!
你可以發佈你已經試過的代碼嗎?然後輸出有什麼問題? – 2010-08-01 16:34:06
你需要使用rails插件嗎?我想只要將jquery-ui插件添加到您的javascripts並將其設置爲javascript即可。 – skalee 2010-08-01 16:44:28