2011-03-21 20 views
0

私はjQuery UIオートコンプリート検索とオープンイベントを使用しています。しかし、openイベントは、要求が成功し、要素がある場合にのみ呼び出されます。応答は成功したものの空ではないイベントがあるようです。JQuery UIオートコンプリートイベントと空のレスポンス

要求をトリガするとき、私はこのように、スピナーのロゴを表示し、隠す:

search: function() { 
    $('.spinner').show(); 
}, 
open: function() { 
    $('.spinner').hide(); 
} 

がサーバの応答内の要素があるが、サーバーの応答が空の場合、スピナーは永遠にとどまるとき、これはうまく機能..

ご回答ありがとうございます。

PS:私は一人ではないよ:remove spinner from jquery ui autocomplete if nothing found;)

+0

が(その質問)あなたのコメントを追加し、BOUNTYを開始するには、おそらくより良いです! –

+0

可能な複製[jquery uiの自動完成からスピナーを削除する](http://stackoverflow.com/questions/4316071/remove-spinner-from-jquery-ui-autocomplete-if-nothing-found) –

+1

私のを参照してくださいここでの回答(http://stackoverflow.com/questions/4316071/remove-spinner-from-jquery-ui-autocomplete-if-nothing-found/5391023#5391023)とこちら(http://stackoverflow.com/questions/ 4718968/jarery-ji-auti-complete-detection-no-results-on/4719848#4719848) –

答えて

1

は、jQueryのUI v1.9デベロッパーのとして、あなたは、次のような何かを行うことができます:

$('#field').autocomplete({ 
    source: source_url, 
    search: function(event, ui) { 
    $('#spinner').show(); 
    }, 
    response: function(event, ui) { 
    $('#spinner').hide(); 
    } 
}); 
0

これは、jQueryのUIの将来のバージョンのために知られているオープンな拡張機能です...

http://bugs.jqueryui.com/ticket/6777

待つおよび/またはする必要があります回避策を使用してください(サーバーから特別な応答を送信し、このイベントをオープンイベントで処理するなど)。

0

古いバージョンのjQuery UIを使用している場合は、ui-autocomplete-loadingというクラスを使用してください。このクラスは、要求/応答の実行中に追加および削除されます。

関連する問題