2014-06-25 145 views
0

我有一個「大」(約500)數組作爲內聯源的自動填充框。當點擊輸入框時,我會搜索(「」)以使整個列表可見。由於500件物品,這需要約2秒鐘的時間。JQuery Autocomplete - 防止物品被破壞?

JQuery的自動完成功能會在每次點擊/搜索時創建和銷燬這些項目,如果這些項目會被重新使用,速度會更快。

有沒有辦法做到這一點(使用jQuery的內置自動完成)?

回答

1

查看autocomplete小部件的源代碼後,我得出結論:這是不可能的。

功能_suggest具有作爲一線var ul = this.menu.element.empty(),它需要在源代碼中的大檢修,以使這成爲可能:

  1. 你需要創建一個新的功能,將產生的所有項目時,正在加載頁面。 (這可能會增加您網站的加載時間)

  2. 您需要調整_render函數,以便它們也可以使用show/hide類過濾項目,而不是渲染它們。

我認爲您最好的選擇是生成自動完成爲純HTML(無JS)並編寫您自己的隱藏/顯示功能。你當然也可以尋找解決這個問題的插件。

+0

感謝您的明確答案。如果我的用戶要求,我會自己寫自己的。直到那時......它會這樣做。 –