2012-05-07 5 views
1

jQueryデータ型プラグインを使用するRailsアプリケーションのスピナーに入れました。Railsアプリケーションのデータテーブルで検索機能を使用するときにスピナーを無効にする方法

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $("#spinner").bind("ajaxSend", function() { 
     $(this).show(); 
    }).bind("ajaxStop", function() { 
     $(this).hide(); 
    }).bind("ajaxError", function() { 
     $(this).hide(); 
    }); 
    }); 
</script> 

:スピナーIDに上のフックする

<div id="spinner" class="spinner"> 
    <img id="img-spinner" src="/assets/spinner.gif" alt="Loading"/> 
</div> 

プラスjQueryのコードのビット:

私はとdiv要素とスピナーのIDそれほどなどを持っている:コードは本当に簡単ですこれは素晴らしいです。ただし、ユーザーがデータ文字列の検索ボックスに検索文字列を入力すると、スピンナイメージを表示したくないことを除いては、 datatablesはa)最初のロード時にテーブルを作成し、b)ユーザーがすべての文字を入力するときに検索文字列を送信するときにもAjaxを使用します。単にスピナーイメージのちらつきが多すぎます。私はまだデータ型の経験があまりないので、この目的のために使用できるコールバックがあるかもしれません。

ご協力いただきありがとうございます。

バーラト

答えて

0

私は同じ問題があったし、最善の解決策は、特定のパスのグローバルAJAXを無効にすることです。次のようなことができます:

$.ajax({ 
    url: "test.html", 
    global: false, 
    // ... 
}); 

グローバルイベントの詳細についてはhereをご覧ください。上記のコードでは、test.htmlをリクエストするとglobalfalseとなります。私はあなたの検索機能のためだけに同じものを使用できると仮定します。

+0

こんにちはアミール、お返事ありがとうございます。しかしこれはうまくいかない。私は詳細を教えてください:私は "/states.json" urlを持っています。そこでは、データテーブルはその内容を取得します。検索ボックスに検索文字列を入力すると、要求パラメータとともに同じURLへのajaxリクエストが発生します。 URLを「/states.json」と指定しました。追加の検索文字を入力するとスピナーが表示されません。 – Bharat

+0

あなた自身のコードを投稿できますか? –

+0

私はこれをもう一度試してみました。 '.load'、' .get'、 '.post'ではなくajaxを使う必要があります。 '.ajax'だけがグローバルフラグをサポートしています。 –

関連する問題