表格需要重新计算订单价格

时间:2010-01-30 11:16:03

标签: ruby-on-rails forms

我有一张创建新订单的表单。一个订单可以包括几个产品。每个产品都有价格。订单价格等于包含在其中的所有产品的价格总和。

我的表单需要更新订单的价格,因为用户为每个产品设置了数量。

想法?

2 个答案:

答案 0 :(得分:2)

在数量输入字段中使用Javascript和onchange HTML事件 当用户更改数量时,Javascript可以处理表单并计算新的订单价格。通过使用以下内容,Javascript可以计算多个项目的总价格:

item_quantity = document.getElementById('item_quantity').value;
item_price = document.getElementById('item_price').value;
// Perform some chacks here, to see whether the input values are valid
item_total = item_price * item_quantity;

为您的所有商品执行此操作,并添加所有item_total值以获取总订单价格。

通过为您的价格和数量字段选择方便的ID,您可以轻松循环,从而独立于订单中的项目数量。

答案 1 :(得分:0)

由于您在轨道上使用ruby,我可以使用观察者,这可以检查数量字段的值更改事件。这样你就可以将逻辑排除在你的视野之外。

http://it.toolbox.com/blogs/database-geek/ror-passing-multiple-parameters-via-observe_field-18656

http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper.html

你也可以给你的用户一个更新数量按钮,将表格提交给同一个动作,所以如果表格在new.html.erb中,那么按下按钮会调用新动作并将它们重定向回到相同的页面,但您可以更新控制器中的总数。