Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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
jquery计算器错误?_Jquery_Jquery Plugins_Calculator - Fatal编程技术网

jquery计算器错误?

jquery计算器错误?,jquery,jquery-plugins,calculator,Jquery,Jquery Plugins,Calculator,我正在使用jquery计算器插件,但我遇到了一个问题,我想知道是否有解决办法。我有一个表单,其中有8次以上的迭代要计算。一旦我到达#9,它就会中断,不会出现错误显示 $(function() { $('input[name^=sum]').keyup(function() { var sum1 = parseFloat($('input[name=sum1]').val()); // Or parseInt if integers only

我正在使用jquery计算器插件,但我遇到了一个问题,我想知道是否有解决办法。我有一个表单,其中有8次以上的迭代要计算。一旦我到达#9,它就会中断,不会出现错误显示

$(function() {
      $('input[name^=sum]').keyup(function() {
            var sum1 = parseFloat($('input[name=sum1]').val()); // Or parseInt if integers only
            var sum2 = parseFloat($('input[name=sum2]').val());
            var sum3 = parseFloat($('input[name=sum3]').val());
            var sum4 = parseFloat($('input[name=sum4]').val());
            var sum5 = parseFloat($('input[name=sum5]').val());
            var sum6 = parseFloat($('input[name=sum6]').val());
            var sum7 = parseFloat($('input[name=sum7]').val());
            var sum8 = parseFloat($('input[name=sum8]').val());
            var sum9 = parseFloat($('input[name=sum9]').val());
            var sum10 = parseFloat($('input[name=sum10]').val());
            $('#totalSum').val(sum1 + sum2 + sum3 + sum4 + sum5 + sum6 + sum7 + sum10);
      });
});
$(function() {
        $('input#totalSum').blur(function() {
            var amt = parseFloat(this.value);
            $(this).val('' + amt.toFixed(2));
        });
    });

这不是虫子。确保将输入默认为
0
,否则
parseFloat
将尝试解析返回
NaN
(不是数字)的空字符串。您可以通过为输入设置一个
value=“0”
属性,或者按照以下步骤进行操作:

var sum1 = parseFloat($('input[name=sum1]').val(), 10)  || 0;
这里有一把小提琴来演示这个概念:

另一方面,通过迭代输入,您可以大大简化逻辑,而无需为每个输入编写一行代码。下面是另一把小提琴来展示这个概念:


最后,我不确定您使用的是哪一个“jQuery计算器插件”(只有数亿个),但我在这两个fiddle中发布的代码都没有使用插件。所有这些都只是简单的jQuery/JavaScript。如果您的“jQuery计算器插件”仍然存在问题,请在作者的网站上发布一个链接,以便我们知道可以帮助您解决哪一个问题。

所有值都存在吗?你怎么知道它“9点中断”,或者更确切地说,你没有正确地提出问题?我想你的意思是,在一个语句中,最多只能加八个数字?它以什么方式断开?你有小提琴来演示这个问题吗?该错误是否可能与不包括
sum8
sum9
的总金额有关?虽然我怀疑这就是问题所在,但如果没有关于您所经历错误的更多信息,就很难知道。是的,当我将sum9以美元(“#totalSum').val(sum1+sum2+sum3+sum4+sum5+sum6+sum7+sum10)加起来时,它加起来就是#8);我得到的只是价值NAN。好的,谢谢你,我以为我疯了。还有你的小费!!这将使此表单完美地工作。