我有一个具有相同类名价格的文本框。我使用jquery循环来计算数字的总和,但我在警告框中给出了undefiend错误,这里是我的代码。 Thanx
<input type="text" class="price" name="amount" onblur="checknumber()" />
<input type="text" class="price" name="amount" onblur="checknumber()" />
<input type="text" class="price" name="amount" onblur="checknumber()" />
<input type="text" class="price" name="amount" onblur="checknumber()" />
function checknumber()
{
var sum= 0;
$('.price').each(function() {
sum += Number($(this).val());
});
alert(sum);
}
答案 0 :(得分:0)
sum.value
会引用sum
,就好像它是对输入dom元素的引用一样。只需使用alert(sum)
提醒变量值sum
。
请注意,使用内联js(html中的onblur)是不好的做法,console.log
更方便调试(没有烦人的弹出窗口)。重构如下: Live demo (click).
<input type="text" class="price" name="amount" />
<input type="text" class="price" name="amount" />
<input type="text" class="price" name="amount"/>
<input type="text" class="price" name="amount" />
<强> JavaScript的:强>
$prices = $('.price');
$prices.blur(function() {
var sum= 0;
$prices.each(function() {
sum += Number($(this).val());
});
console.log(sum);
});
阅读这些结果,了解有关内联js的邪恶信息:https://www.google.com/search?q=Why+is+inline+js+bad%3F