多数のアイテムを含む請求書があります。ユーザーがアイテムの価格または数量を変更することを決定すると、そのアイテムの小計は次の 2 つの 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 ファイルから派生しているため、ユーザーが望む場合は、長期的には別のフォーマットに適応できるはずです。
誰でもこれを行う方法を教えてもらえますか?