これを個別のdivに表示する必要があります(.ui-autocomplete-loading
はここには該当しません)。私はsearch
イベントが起こったときにそれを示すことができます。しかし、それを隠すべきときをどうすれば理解できますか?オートコンプリート検索の実行時に読み込みアイコンを表示する方法は?
5
A
答えて
8
私はあなたがリモートデータソースを使用していると仮定しています。その場合は、source
パラメータに指定した関数の中で$.ajax
を使用してください。例えば:
$("#auto").autocomplete({
source: function(request, response) {
$("#loading").show(); // Where #loading is the loading indicator
$.ajax({
url: "Your_URL_HERE",
data: request.term,
success: function(data) {
response(data);
$("#loading").hide();
},
error: function() {
$("#loading").hide();
}
});
}
});
4
CSSソリューション
ローディング・エレメントは、入力制御の兄弟である場合、CSS一般兄弟セレクタを使用することができる。
を.loading {
/* whatever */
}
#autocomplete.ui-autocomplete-loading ~ .loading {
background-image: url(loading.gif);
}
jQueryのソリューション
あなたはsearch
とresponse
イベントハンドラを追加することができます。このアプローチは、以来、競合状態に苦しんでいることを
$("#autocomplete").autocomplete({
delay: 500,
minLength: 3,
source: "/search.json",
search: function() {
$("#loading2").show();
},
response: function() {
$("#loading2").hide();
}
});
ノートは、(i)AJAX要求は必ずしも(ⅱ)オートコンプリートが検索よりも少ない応答イベントを発生ことがあり、彼らが開始されたために終了しません。
関連する問題
- 1. vuejsリストを検索中に読み込みアイコンを追加する方法
- 2. ページの読み込み時にコンポーネントを表示する方法
- 3. ページの読み込み時にスナックバーを表示する方法
- 4. 秒後にAngularJSに読み込みアイコンを表示する方法は?
- 5. C#画像を表示する(実行時と読み込み時)
- 6. ブラウザの読み込みアイコンの表示を停止する方法
- 7. 検索中に読み込みアイコンを追加するには? (Vue.js 2)
- 8. ページの読み込み時にカスタムメッセージの確認を表示する方法は?
- 9. 実行時に埋め込みファイルを検索する方法C#
- 10. UWP - ページの読み込み時にOpenPictureをTimePicker/DatePickerに表示する方法
- 11. 検索アイコンがオートコンプリート検索に表示されない
- 12. ウェブサイトの読み込み時に表示を表示
- 13. ページの読み込み時にfancyboxライトボックスを表示する方法
- 14. Tibco SPOTFIRE 7.5アナライザの読み込み時にカスタムスクリプトを実行する方法
- 15. iframeの読み込み時にfancyboxを非表示にする
- 16. docxファイルの表示方法または読み込み方法
- 17. javafx-applicationで読み込みアニメーションを表示する方法は?
- 18. ログイン時にのみ私の読み込み画面を表示
- 19. Webページの読み込み時にコマンドラインスクリプトを実行する
- 20. ソケットの読み込みと書き込みを同時に実行する
- 21. 実行時にオートコンプリート検索バー
- 22. 角度jsの読み込みイメージを表示する方法
- 23. pdfファイルの読み込みと検索
- 24. HTML5動画の読み込み時に画像を読み込む方法は?
- 25. AWKレコードとフィールドの実行方法と読み込み方法
- 26. 画像読み込み中にアイコンを読み込む
- 27. ページが読み込まれているときに読み込みアイコンを表示できません - ブートストラップ
- 28. 関数はクリック時ではなく読み込み時に実行する
- 29. FormViewの読み込み時にリダイレクトする方法は?
- 30. 組み込みの検索ダイアログを無効にする方法
私はこれを試してみましたが、メニューが更新される前に、時には隠され得る負荷要素を発見しました。私はajax 'complete'イベントでそれを隠そうとしましたが、改善はしませんでした。私が行った唯一のことは、 'open'と' close'オートコンプリートイベントの両方でそれを隠すことです。なぜこれが事実だろうか?この動作は、ajaxが完了した後にメニューが更新されるのが遅れることがあることを示しているようです。 – billynoah
@billynoahこれは競合状態のためです。たとえば、term = "foo"のXHRを起動し、term = "foobar"の別のXHRを起動する "bar"というタイプのユーザー "foo"を入力します。 "foo"要求が最初に完了したとします。これはローディングアイコンを隠すことを意味します。しかし、オートコンプリートはメニューを表示するために "foobar"リクエストが完了するのを待つので、メニューは表示されません。このプラグインはバックグラウンドで競合状態を処理し、順不同のAJAX要求をインテリジェントに処理することに注意してください。 –
よろしくお願いいたします。その場合、 'open'イベントと' close'イベントを使用する方が、プラグインが現在のすべてのリクエストを完了したときにのみローディング要素を削除する方が良いでしょう。同意しますか?あなたはこれを処理するためのより良い方法を考えることができますか? – billynoah