我有一张包含许多项目的发票。当用户决定更改商品的价格或数量时,该商品的小计会通过以下两个 jQuery 函数立即更新:
// Re-calculate item subtotal when quantity gets changed
$('[id$=quantity]').change(function() {
var quantity = $(this).val();
var price = $(this).closest('.item_fields').find('[id$=price]').val();
recalculate_subtotal($(this), price, quantity);
});
function recalculate_subtotal($element, price, quantity) {
$element.closest('.item_fields').find('#Subtotal').val(price * quantity);
}
这工作正常。但是,jQuery 似乎无法保留小计字段的格式。这是我的代码中的样子:
<%= text_field_tag 'Subtotal', number_to_currency(f.object.subtotal), :disabled => true %>
因此,当用户创建新项目时,Rails 会正确格式化小计,例如:$200.00
但是,一旦他更改了商品的价格或数量,所有格式都消失了,只剩下裸整数,例如200
.
有没有办法使用 jQuery 保留 Rails 的格式?
更复杂的是,在我的例子中,格式是从 .yml 文件派生的,所以从长远来看,如果用户愿意,它应该能够适应不同的格式。
谁能告诉我该怎么做?