Javascript 当总和格式为负值和小数分隔符时,jQuery返回NAN
我有以下代码来计算多个文本框的值之和,并显示在另一个文本框中Javascript 当总和格式为负值和小数分隔符时,jQuery返回NAN,javascript,jquery,Javascript,Jquery,我有以下代码来计算多个文本框的值之和,并显示在另一个文本框中 $(document).on("change", ".charges", function () { var sum = 0; $(".charges").each(function () { sum += +($(this).val().substring(1)); }); $(&q
$(document).on("change", ".charges", function () {
var sum = 0;
$(".charges").each(function () {
sum += +($(this).val().substring(1));
});
$(".sub-total-Of-Charges").val("$ "+sum);
});
当我输入-ve值时返回$NAN,该值当前被格式化为显示在括号中,例如(100),当值大于1000时,使用十进制分隔符逗号。我需要关于如何修复它的帮助?使用regex来删除逗号和括号,而不是使用子字符串,除了
-
符号
$(document).on("change", ".charges", function () {
var sum = 0;
$(".charges").each(function () {
sum += +($(this).val().replace(/[^0-9-]/g,''));
});
$(".sub-total-Of-Charges").val("$ "+sum);
});
如果输入中的负值为
(100)
,则“(100)。子字符串(1)
”为100)
。。。哪一个不是数字您为什么要取该数字的子字符串(1)
。无论如何,它都会删除第一个数字。你真的想要这个吗?@Beingnin哦,我正试图删除$sign,这也造成了一个问题。不用子字符串,用正则表达式删除逗号和括号,除了-
sign.$(this).val().replace(/[^0-9-]/g',)
谢谢,但这段代码给了我一个奇怪的结果,我在第一个文本框中输入了4美元,在第二个文本框中输入了3美元,然后在费用小计上输入了707美元,当我输入4和5=909时,你能检查小提琴吗?是的,我检查了不确定为什么不在我的情况下工作,必须输入其他东西检查$(“.Charges”)。长度。确认没有带值的隐藏文本框