使用javascript对文本框值进行求和

时间:2013-12-29 19:18:05

标签: javascript jquery

我有一个具有相同类名价格的文本框。我使用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);

}   

1 个答案:

答案 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