jQuery计算器错误



我正在使用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;

这是一个小提琴,演示了以下概念:http://jsfiddle.net/fqfyl/

在另一个注意事项上,您可以通过迭代输入来大大简化逻辑,而不必为每个代码编写一行代码。这是另一个说明这个概念的小提琴:http://jsfiddle.net/fqfyl/1/

最后,我不确定您正在使用哪个" jQuery Calculator插件"(只有大约有数十亿美元),但是我在任何一个小提琴中发布的代码都不使用插件。都是简单的jQuery/javaScript。如果您仍然在" jQuery计算器插件"上遇到问题,请发布指向作者网站的链接,以便我们知道可以帮助您的。

最新更新