2013-03-10 69 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); 
     }); 
     }); 
}