逗号后两位数

时间:2016-06-10 15:38:31

标签: javascript jquery html

我已禁用输入字段,结果如下(" Kiekis" *" Kaina" =" Suma"),但导致很多情况显示超过2位数(如3 * 2.93)即使我使用JS toFixed(2)函数。

    $('#quantity, #price').on('keyup change', function() {
        $('#total').val($('#quantity').val() * $('#price').val()).toFixed(2);
    });

这是我在JSFiddle中的所有代码: https://jsfiddle.net/w5qz5exe/

提前感谢您的帮助! :)

3 个答案:

答案 0 :(得分:1)

您在输入字段上附加事件,然后才将它们加载到DOM上。所以,在父母中附加事件:

同样toFixed应该在val内,因为在val函数的参数中传递的任何值都被设置为该元素的值。所以你需要在这个函数中发送格式化的值:

示例:

$('div.row').on('keyup change', '#quantity, #price ', function() {
     $('#total').val(($('#quantity').val() * $('#price').val()).toFixed(2));
 });

更新了小提琴 - link

答案 1 :(得分:1)

您正在为页面加载时的'keyup change'添加一个事件处理程序,但是您添加到DOM的新元素在页面加载时不在页面上。在创建之后,您需要将该处理程序添加到新元素中。

您可以将'keyup change'处理程序放在函数中,然后在添加新元素时调用该函数。

答案 2 :(得分:0)

这样做:将$('#total')的值设置为blah,然后将.toFixed(2)设置为jquery对象(因为.val()返回$('#total'))

$('#total').val(blah).toFixed(2)

这样做:将$('#total')的值设置为blah,最多2位小数:

$('#total').val(blah.toFixed(2))

第二个是你真正想要的