jQuery的部分输入值的和

前端之家收集整理的这篇文章主要介绍了jQuery的部分输入值的和前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在多个部分中找到输入值的总和.我把我的代码放在下面.

HTML:





<div class="section">
  <input type="radio" name="q1" value="2"/>
  <input type="radio" name="q2" value="0"/>
  <input type="radio" name="q3" value="1"/>
  <input type="radio" name="q4" value="3"/>
</div>

jQuery:

$('.section').each(function(){
  var totalPoints = 0;
  $(this).find('input').each(function(){
    totalPoints += $(this).val();
  });
  alert(totalPoints);
});

请注意,这是我实际使用的代码的简化版本.所以我想要提醒2值(每个部分的总和):8然后6.而是我只是得到一个字符串的所有值.所以第一节提醒0143.

任何想法我如何得到一个累积和而不是一个字符串?

解决方法

你正在做“1”“1”,期望它是2(int)

不是这样.

一个非常快速(并非完全正确)的解决方案是:

$('.section').each(function(){
  var totalPoints = 0;
  $(this).find('input').each(function(){
    totalPoints += parseInt($(this).val()); //<==== a catch  in here !! read below
  });
  alert(totalPoints);
});

抓住?为什么

回答:
你应该总是使用基数,如果你没有,领先的零是八进制的!

parseInt("010") //8 ( ff)
 parseInt("010") //10 ( chrome)


 parseInt("010",10) //10 ( ff)
 parseInt("010",10) //10 ( chrome)

好….你得到的想法.供应基!

编辑

最终解决方案(使用.each(function(index,Element)))

$('.section').each(function(){
      var totalPoints = 0;
      $(this).find('input').each(function(i,n){
        totalPoints += parseInt($(n).val(),10); 
      });
      alert(totalPoints);
    });

猜你在找的jQuery相关文章