Javascript 如何使用货币格式自动求和输入字段
我需要将货币格式的输入字段和总输入相加。当它只是一个数字时,我可以让它工作。这是我的小提琴:Javascript 如何使用货币格式自动求和输入字段,javascript,jquery,currency,Javascript,Jquery,Currency,我需要将货币格式的输入字段和总输入相加。当它只是一个数字时,我可以让它工作。这是我的小提琴: onKeyUp自动逗号功能工作正常,但无法再对这些数字求和。 这是我的JS: $(document).ready(function(){ $(".cost").each( function(){ $(this).keyup( function(){ calculateSum() }); }); });
onKeyUp
自动逗号功能工作正常,但无法再对这些数字求和。
这是我的JS:
$(document).ready(function(){
$(".cost").each(
function(){
$(this).keyup(
function(){
calculateSum()
});
});
});
function calculateSum(){
var sum=0;
$(".cost").each(
function(){
if(!isNaN(this.value)&&this.value.length!=0){
sum+=parseFloat(this.value);
}
});
$("#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;
}
$(文档).ready(函数(){
美元(“.cost”)。每个(
函数(){
$(这个)(
函数(){
计算um()
});
});
});
函数calculateSum(){
var总和=0;
美元(“.cost”)。每个(
函数(){
如果(!isNaN(this.value)&&this.value.length!=0){
sum+=parseFloat(此.value);
}
});
$(“#sum”).val(sum.toFixed(2));
}
$(文档).ready(函数(){
$('input.cost').keyup(函数(事件){
//跳过箭头键
如果(event.which>=37&&event.which您需要删除数字中的逗号,以便isNaN()
将其识别为一个数字,那么请替换以下代码:
if(!isNaN(this.value)&&this.value.length!=0){
sum+=parseFloat(this.value);
}
对于这一个:
var vl = this.value.replace(',','');
if(!isNaN(vl) && vl.length!=0){
sum+=parseFloat(vl);
}
请参见我只是开发了一个插件,让它更简单,试试这个
下面是货币格式的示例
Chrome对我来说很好,你能描述一下你的问题是什么,以及如何在你的小提琴中重现它吗?Nelson,总和输入是否也正确?是的,我在每个框中输入了2.1
,结果是8.40
Nelson,请尝试将值设置为1000以上。Nelson现在可以了,但有可能实现总和吗还有货币形式吗?ikshan,它工作得很好,但有点晚了,伙计:)谢谢你。