gpt4 book ai didi

javascript - 如何进行自动求和计算输入字段

转载 作者:行者123 更新时间:2023-11-29 19:35:06 25 4
gpt4 key购买 nike

请看这个http://jsfiddle.net/F2wEK/4/ :

HTML

cost 1 :<input type="text" class="cost" name="cost1" /><br />
cost 2 :<input type="text" class="cost" name="cost2" /><br />
cost 3 :<input type="text" class="cost" name="cost3" /><br />
cost 4 :<input type="text" class="cost" name="cost4" /><br /><br />
sum : <input type="text" id="sum" readonly />

Javascript

$(document).ready(function(){
$(".cost").each(
function(){
$(this).keyup(
function(){
calculateSum()
});
});
});

function calculateSum(){
var sum=0;
$(".cost").each(
function(){
var vl = this.value.replace(',','');
if(!isNaN(vl) && vl.length!=0){
sum+=parseFloat(vl);
}
});

$("#sum").val(sum.toFixed(2));
}

$(document).ready(function(){
$('input.cost').keyup(function(event){
// skip for arrow keys
if(event.which >= 37 && event.which <= 40){
event.preventDefault();
}
var $this = $(this);
var num = $this.val().replace(/,/gi, "").split("").reverse().join("");

var num2 = RemoveRougeChar(num.replace(/(.{3})/g,"$1,").split("").reverse().join(""));

console.log(num2);


// the following line has been simplified. Revision history contains original.
$this.val(num2);
});
});

function RemoveRougeChar(convertString){


if(convertString.substring(0,1) == ","){

return convertString.substring(1, convertString.length)

}
return convertString;

}

为什么输入100000, 1000000, 10000000, more bigger... 不能自动求和?如何让它与千、百万或十亿数字一起工作?请大家帮帮我..

最佳答案

问题是您的替换函数,它只替换第一个 ',' 而不是全部。在您的 calculateSum() 函数中,您可以这样做:

var vl = this.value.replace(',', '');

我会建议

var vl = this.value.split(',').join('');

相反。或者使用 RegExp对于 ',' 就像这里:

var myExp = /,/g;
var vl = this.value.replace(myExp, '');

试试 fiddle对我来说效果很好。

关于javascript - 如何进行自动求和计算输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25522291/

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