jquery计算器错误?
我正在使用jquery计算器插件,但我遇到了一个问题,我想知道是否有解决办法。我有一个表单,其中有8次以上的迭代要计算。一旦我到达#9,它就会中断,不会出现错误显示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
$(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。好的,谢谢你,我以为我疯了。还有你的小费!!这将使此表单完美地工作。