[英]Jquery autocomplete on large array
我正在使用大小約為5000的本地數組的Jquery自動完成功能,每個單詞約為10個字符。 我正在像這樣初始化對象:
.autocomplete({matchContains: true, minLength: 3, delay: 700, source: array1, max: 10, highlight: true })
問題是,當我開始鍵入文字時,要花很多時間(有時會使瀏覽器崩潰)才能顯示結果。
我能做什么?
謝謝
您可以使用AJAX來獲取數組,而不是將其放入HTML中,在查詢服務器之前增加延遲和所需的minLength
以減少匹配。
我會像達林·迪米特洛夫(Darin Dimitrov)所說的那樣,但我也會在服務器端的快速linq語句中執行.Take(10)(或一些對您而言聽起來不錯的數字)。 這將減少結果集,並且在用戶繼續鍵入時仍將變得更加准確。
您是否在使用標准的jQuery自動完成插件 ? 如果是這樣,我不熟悉您使用的選項參數“源”。
該插件的正確語法為: autocomplete( url or data, [options] )
。 聽起來您的版本可以使用'source'選項參數,(盡管會使瀏覽器崩潰),所以我很困惑。 如果瀏覽器崩潰了,我希望該問題與javascript有關。
我建議嘗試:
$('whatever').autocomplete(array1,{
matchContains: true,
minLength: 3,
delay: 700,
max: 10,
highlight: true
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.