0

サイズが〜5000のローカル配列でJqueryオートコンプリートを使用しています。すべての単語は〜10文字です。私は次のようにオブジェクトを初期化しています:

.autocomplete({matchContains: true, minLength: 3, delay: 700, source: array1, max: 10, highlight: true })

問題は、入力を開始すると、結果が表示されるまでに多くの時間がかかることです(ブラウザがクラッシュすることもあります)。

私に何ができる?

ありがとう

4

3 に答える 3

2

HTMLに配列を配置する代わりに、AJAXを使用して配列をフェッチしminLength、一致を減らすためにサーバーにクエリを実行する前に遅延と必要な値を増やすことができます。

于 2010-10-05T16:48:42.810 に答える
1

Darin Dimitrovが言ったようにしたいのですが、サーバー側の簡単なlinqステートメントで.Take(10)(またはあなたにぴったりの任意の数値)も実行します。これにより、結果セットが少なくなり、ユーザーが入力を続けるとさらに正確になります。

于 2010-10-05T17:48:03.367 に答える
0

標準のjQueryオートコンプリートプラグインを使用していますか?もしそうなら、私はあなたが使用したオプションパラメータ「ソース」に精通していません。

そのプラグインの適切な構文は次のとおりautocomplete( url or data, [options] )です。お使いのバージョンは「source」オプションパラメータで動作するようです(ただし、ブラウザをクラッシュさせている間)ので、混乱しています。ブラウザがクラッシュしている場合、問題はjavascriptに関連していると思います。

試してみることをお勧めします:

$('whatever').autocomplete(array1,{
    matchContains: true, 
    minLength: 3, 
    delay: 700,  
    max: 10, 
    highlight: true 
});
于 2010-10-05T17:28:24.337 に答える