2012-11-08 56 views
0

我正在使用Jquery autocompleter和約200個項目的列表。當我在框中輸入一個字符時,它會一次顯示所有的100-150個選項。如何限制jQuery自動完成器中顯示的選項數量?

名單是這麼久,遠遠超出了頁面底部邊框,並且還給出了可怕的性能。

如何限制的顯示像5或6的合理數量的選項數量?

的官方文檔給出here沒有幫助。

什麼是限制列表的長度的方式嗎?是否有另一個autocompleter庫提供良好的性能?

+0

一種方法是限制服務器端的可能選項。如果您要求自動填充插件從100個顯示10個選項,自動填充插件如何決定保留和放棄哪些建議? – Hari

+0

@Hari在服務器端限制它意味着更多的工作。自動完成應該根據鍵入的字符過濾列表並顯示前10個匹配項。 –

+2

IMO限制沒有相關性計算的選項不會太好,並且相關性計算(如果可能的話,對於單詞片段而言)不在自動完成插件的範圍內。你可以限制下面的答案中的選項,我只想指出爲什麼這樣的功能不應該是插件的一部分。 – Hari

回答

0

用途:

$(".classThatNeedsTheAutoComplete").autocomplete({ 
    source: function(request, response) { 
     var results = $.ui.autocomplete.filter(myarray, request.term); 

     response(results.slice(0, 10)); 
    } 
}); 

Limit results in jQuery UI Autocomplete被發現。