2013-03-10 165 views
0

我正在构建一个创建新产品表单。我有领域food_price和selling_price。在这里,我想要做的是,当用户输入foodio_price时,应该在后端计算selling_price并与其一起显示。 我的表单视图是:rails:动态计算字段价格

<%= nested_form_for @product do |f| %> 
<%= f.label :name, "Product Name"%> 
    <%= f.text_field :name %> 
    <%= f.label :foodio_price %> 
    <%= f.text_field :foodio_price %> 
    <%= f.label :selling_price, "Selling Price"%> 
    <%= @product.selling_price %> 
    <%= f.submit %> 
<% end %> 

在产品模型中,销售价格计算。任何人都可以告诉如何在用户输入foodio_price时动态显示selling_price而无需重新加载表单?

+0

你真的想避免向服务器计算销售价格。你应该在JavaScript中做。即使你需要来自服务器的一些数据,我认为你最好在页面第一次加载时将它们作为数据属性添加到某个地方,然后在js中使用它们。 – Robin 2013-03-10 17:08:58

回答

0

使用jQuery:

$(document).ready(function(){ 
     $(':input[name*="foodio_price"]').change(function() { 
     var fprice = $(this).val(); 
     // Obtain the selling price from server 
     $.get("my_server_url", { fprice: fprice }) 
     .done(function(data) { 
      $(':input[name*="selling_price"]').val(data); 
     }); 
     }); 
}