2011-11-11 101 views
0

綁定onchange事件的最佳方法我想在每個onchange()表單字段事件上進行表單提交,以在單獨的css框中獲得「實時搜索結果計數」。 (就像here當你改變一些表格字段值,你會立即得到「searh結果數」改變在右邊的css框)使用Rails 3,UJS/jQuery

這樣做的最簡單的方法是什麼?

PS。問題是關於技術,因爲我知道如何做到「手動」,但是我有10多個不同類型的字段(select/select-multiple/checkbox),這樣做並不方便。

感謝

回答

0
$('input, select').change(function() { 
    var params = {}; 
    params[this.name] = this.value; 
    $.post('yourFieldHandlingUrl.rb', params); 
}); 

當然這是簡約,您可以添加AJAX成功/錯誤處理。

對於您的汽車示例,這意味着其他方框的狀態通常存儲在服務器上。否則你可以在頁面的內部構建javascript內部的possilbes組合。但最好的辦法是發送所有輸入重新計數的價值。這很容易做到這樣的事情:

$('input, select').change(function() { 
    var params = {}; 
    $(this).closest('div.inputsContainer').each(function() { 
     params[this.name] = this.value; 
    }); 
    $.post('yourFieldHandlingUrl.rb', params); 
}); 
+0

謝謝,那適合:) – user973254