如何使用Javascript获取具有相同类的多个字段的总和,并获取每个总和的值
好的,我有一个循环动态输入字段类,但我将展示它的样子 输出如下如何使用Javascript获取具有相同类的多个字段的总和,并获取每个总和的值,javascript,Javascript,好的,我有一个循环动态输入字段类,但我将展示它的样子 输出如下 值->20 值->25 我需要这个的总和^=45 值->20 值->25 我需要这个的总和^=45 值->20 值->25 我需要这个的总和^=45 值->20 值->25 值->20 我需要这个的总和^=65 是用这个吗 var sum =0; for(var i=0; i<count_criteria; i++){ $('input.sp_criteria'+i+'').each(function(i, selected
值->20
值->25
我需要这个的总和^=45
值->20
值->25
我需要这个的总和^=45
值->20
值->25
我需要这个的总和^=45
值->20
值->25
值->20
我需要这个的总和^=65
是用这个吗
var sum =0;
for(var i=0; i<count_criteria; i++){
$('input.sp_criteria'+i+'').each(function(i, selected){
sum += parseFloat($(selected).val() || 0);
console.log(sum+'sum');
});
}
if(parseFloat(sum) >= 99.00 && parseFloat(sum) <= 100.09){
}else{
if(parseFloat(sum) >= 100.9){
alert('Criteria score Percent must be approximately 100. Your Score Inputed is:'+sum);
return false;
}else if(parseFloat(sum) <= 99.00){
alert('Criteria score Percent must be approximately 100. Your Score Inputed is only:'+sum);
return false;
}
}
var总和=0;
对于(变量i=0;i=99.00&&parseFloat(总和)=100.9){
警报('标准分数百分比必须大约为100。您输入的分数为:'+总和);
返回false;
}else if(parseFloat(sum)首先,id=identify,因此在同一页中多次使用id是不合乎逻辑的
但是,试着为每个输入组使用这段代码
var sum = 0;
for(var i=0; i<count_criteria; i++){
$('[id=sp_criteria'+ i +']').each(function( index ) {
sum += parseInt( $( this ).val() );
});
}
console.log( "sum = "+ sum );
var总和=0;
对于(var i=0;i您的代码是有效的,只是您缺少一些东西
首先,您需要在i++
之后放置一个)
其次,我没有看到任何sp_标准2
和sp_标准4
下面是一个工作示例:如果希望单独输出各个和,则需要将每个和添加到外部循环中的数组或对象中:
var结果=[];
var计数标准=7;
var和;
var输入;
对于(var i=0;iid需要是唯一的。使用类来区分公共元素1)ID是唯一的2)您尝试过什么?3) 问题是什么?请使用个人的唯一ID。在迭代时,使用一些计数器使其唯一,这样它将工作或使用任何类。哦,很抱歉,我也尝试了该类,但它不工作。在i++
之后,您有一个缺少的)
这很好,但是,我如何询问每个值,比如if(45>100){alert(“sucess”);}你的意思是如果任何一个总数少于100,那么你就失败了,否则你就成功了?你问题的原始版本要求提供总数。您现在是否希望函数返回true
或false
?是的,因为在成功之前,我需要精确到100的单个值,如果45小于100,则返回false-else-true,如果45小于100,则另一个45返回false-else-true,直到最后一个数字65,这就像当我按下按钮时,它会警告45小于100,而在循环之后,其他45小于100,直到65。each()
循环,而不是(或者)将最新的总和推入数组,添加if
语句以测试值是否不符合成功标准,如果不符合,则显示失败消息并返回false。(如果它确实符合成功标准,那么不要做任何事情,因为您希望它继续处理下一个输入。)如果我对此还有问题,请给我一点时间。非常感谢