Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript获取具有相同类的多个字段的总和,并获取每个总和的值_Javascript - Fatal编程技术网

如何使用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。(如果它确实符合成功标准,那么不要做任何事情,因为您希望它继续处理下一个输入。)如果我对此还有问题,请给我一点时间。非常感谢