2011-11-11 103 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