2012-05-07 14 views
1

我剛剛在使用jQuery數據表插件的Rails應用程序中放入了一個微調框。該代碼是非常簡單的:如何在Rails應用程序的數據表中使用搜索功能時禁用微調框

我有一個div和微調的ID如下:

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

加一點jQuery代碼掛鉤到微調ID:

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

這很好。除此之外,當用戶在數據表搜索框中輸入搜索字符串時,我不想顯示微調圖像。由於數據表使用Ajax來a)在初始加載期間填充表,並且b)當用戶鍵入每個字符時在搜索字符串中發送時也是如此。微調器圖像閃爍太多。我對數據表沒有太多的經驗,所以可能會有一個回調可以用於此目的?

在此先感謝您的幫助。

巴拉特

回答

0

我有同樣的問題,最好的解決辦法是禁用全局AJAX爲特定路徑。你可以這樣做:

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

瞭解更多關於全球事件here。使用上面的代碼,當請求test.html時,globalfalse。我假設你只能用於你的搜索功能。

+0

你好阿米爾,謝謝你的迴應。但是這並不奏效。請允許我詳細說明:我有一個「/states.json」url,數據表從中檢索其內容。當我在搜索框中輸入搜索字符串時,它會通過請求參數觸發相同URL的ajax請求。我將URL指定爲url:「/states.json」,它不會阻止微調器顯示,因爲我輸入了其他搜索字符。 – Bharat

+0

你能發佈你自己的代碼嗎? –

+0

我再次嘗試這個,它的工作。你必須使用ajax而不是'.load','.get'或'.post'。只有'.ajax'支持全局標誌。 –

相關問題