JQuery自动数字集不起作用

时间:2014-07-18 05:38:37

标签: javascript jquery

我有一个简单的代码来根据数量和单价计算总价。所以我定义了一个文本框,最初使用以下内容对其进行格式化:

$('.Num').autoNumeric({ aSep: ',', vMin: '0.00', vMax: '9999999999999999.99', wEmpty: 'zero' });

所以我的金额文本框将显示千位分隔符的金额。然后,如果我编辑数量,我想重新计算金额。代码如下:

var amount = parseFloat($('#' + idQty)[0].value.replace(/\,/g, '') * $('#' + idPrice)[0].innerHTML.replace(/\,/g, ''));
amount = RoundNumber(amount, 2);
$('#' + idAmt).autoNumeric('init', { aSep: ',', vMin: '0.00', vMax: '9999999999999999.99', wEmpty: 'zero' });
$('#' + idAmt).autoNumeric('set', parseFloat(amount).toFixed(2));

但该值未设为amount。我在这里做错了什么?

[编辑]:我正在使用autoNumeric插件,可以找到here

1 个答案:

答案 0 :(得分:0)

我最后通过用以下内容替换上面的最后三行来解决这个问题:

amount = parseFloat(RoundNumber(amount, 2)).toFixed(2);
$('#' + idAmt).val(numberWithCommas(amount));

至于numberWithCommas是用逗号分隔符格式化数字

function numberWithCommas(x) {
    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}