使用 jquery 添加逗号以使用等式形成字段

Adding Commas to form fields with equation using jquery

您好,目前无法正常使用我的表单。目标是在前 3 个字段中输入值并获得总数,同时在字段中显示逗号。然而总数接近 NaN 我认为这是由于逗号。任何帮助将不胜感激。

 $(document).ready(function(){
     $(".input").keyup(function(){
           var val1 = +$(".value1").val();
           var val2 = +$(".value2").val();
           var val3 = +$(".value3").val();
           $("#result").val(val1*val2*val3);
    });
 });
 $(document).on('keyup', '.comma', function() {
     var x = $(this).val();
     $(this).val(x.toString().replace(/,/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ","));
 });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input type="text" class="input value1 comma" >
<input type="text" class="input value2 comma">
<input type="text" class="input value3 comma">
<input type="text" class="comma" disabled="disabled" id="result">

一旦逗号出现在您的文本框值中,代码就无法再将它们转换为整数。一个简单的解决方法是在相乘时去除所有逗号。

尝试使用简单的 .replace()val 变量中删除逗号,如下所示:

 $(document).ready(function(){
     $(".input").keyup(function(){
           var val1 = +$(".value1").val().replace(/,/g,"");
           var val2 = +$(".value2").val().replace(/,/g,"");
           var val3 = +$(".value3").val().replace(/,/g,"");
           $("#result").val(val1*val2*val3);
    });
 });
 $(document).on('keyup', '.comma', function() {
     var x = $(this).val();
     $(this).val(x.toString().replace(/,/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ","));
 });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input type="text" class="input value1 comma" >
<input type="text" class="input value2 comma">
<input type="text" class="input value3 comma">
<input type="text" class="comma" disabled="disabled" id="result">