Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用货币格式自动求和输入字段_Javascript_Jquery_Currency - Fatal编程技术网

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,它工作得很好,但有点晚了,伙计:)谢谢你。