gpt4 book ai didi

javascript - 计算文本框中值的总和

转载 作者:行者123 更新时间:2023-12-03 11:52:09 25 4
gpt4 key购买 nike

我的 ASP.Net 页面上有一个屏幕,根据用户的选择,会提供 1 到 5 个文本框。这些框允许用户输入金额。

当用户进入屏幕时,根据一定的条件,会显示一定数量的这些编辑框。它们没有隐藏...如果我想要 3 个盒子,那么屏幕上就只有 3 个盒子。

在 JavaScript 中,当用户输入金额时,会显示一个“总计”编辑框,对每个框中的值进行汇总。

因此,当用户键入时,总计中的值会更新为所有文本框计算的总计:

我使用:

onkeyup="calculateTotal()"

在编辑框上。

为此,我使用以下代码:

function calculateTotal() {

var amt0 = $('.txtAmount0').val();
var amt1 = $('.txtAmount1').val();
var amt2 = $('.txtAmount2').val();
var amt3 = $('.txtAmount3').val();
var amt4 = $('.txtAmount4').val();


var amt = Number(amt0);
if (!isNaN(amt1))
amt += Number(amt1);

if (!isNaN(amt2))
amt += Number(amt2);

if (!isNaN(amt3))
amt += Number(amt3);

if (!isNaN(amt4))
amt += Number(amt4);

$('.txtTotalAmount').text('$' + amt);

}

第一个问题是我似乎在计算中失去了一些精度:

enter image description here

当我所做的只是总结时,我不确定为什么会遇到奇怪的舍入问题。

另外,看起来有点脏,如果我添加更多的框,我需要修改代码。

有更好的方法让这段代码工作吗?

最佳答案

你可以这样:

  var sum = 0;
$("input[class*='txtAmount']").each(function() {
if ($.isNumeric($(this).val()) ) {
sum += Number($(this).val());
}
});

$('.txtTotalAmount').text('$' + sum.toFixed(2));

关于javascript - 计算文本框中值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25778051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com