gpt4 book ai didi

javascript - jQuery 各节中输入值的总和

转载 作者:行者123 更新时间:2023-12-03 21:41:55 25 4
gpt4 key购买 nike

我正在尝试查找多个部分中输入值的总和。我已经把我的代码放在下面了。

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);
});

关于javascript - jQuery 各节中输入值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14142011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com