如何对数组中的复选框行进行计数和重复

时间:2019-06-25 12:45:59

标签: javascript multidimensional-array

我在每行中都有三个复选框,并希望对一行中的选中复选框进行计数,并将其与下一行相乘。 例如 第一行2复选框已选中1 + 1 第二行选中一个复选框1 第三行三个复选框已选中1 + 1 + 1 总和:2 * 1 * 3 = 6 我了解我必须将其放入数组并放入槽中。 我希望你明白? 我是编程新手。 嗯,我尝试了一个数组,它没有用 https://jsfiddle.net/6nbrxd2w/

`

$('.cb').on('change', function(){ // on change of state
   Updatesum();
});

function Updatesum() {
  var sum = 0;
  var gn, elem;
  $('.cb:checked').each(function(){
     sum += Number($(this).val()); 
  })
 
 $('#totalsum').val(sum.toFixed(2));
}
<html>

<input type="checkbox" class="cb" id='game1' value="1"  >Game 1 (1)<input type="checkbox" class="cb"id='game1' value="1" >Game 1 (1)<input type="checkbox" class="cb" id='game1' value="1"> Game 1(1)<br>

<br>
<input type="checkbox" class="cb" id='game2' value="1"  >Game 2 (1)<input type="checkbox" class="cb"id='game2' value="1" >Game 2 (1)<input type="checkbox" class="cb" id='game2' value="1"> Game 2(1)<br>
<input type="text" id="totalsum" value="">
<input type="text" id="total" value="">

JavaScript

$('.cb').on('change', function(){ // on change of state
   Updatesum();
});

function Updatesum() {
  var sum = 0;
  var gn, elem;
  $('.cb:checked').each(function(){
     sum += Number($(this).val()); 
  })
 
 $('#totalsum').val(sum.toFixed(2));
}

`

1 个答案:

答案 0 :(得分:2)

这是您的代码:

$('.cb1 , .cb2, .cb3').on('change', function(){
   Updatesum();
});

function Updatesum() {
  var sum1 = 0 ,sum2 = 0 ,sum3 = 0 ;
 /*  $('.cb:checked').each(function(){
     sum += Number($(this).val()); 
  }) */
    $('.cb1:checked').each(function(){
   // alert('hi');
     sum1 += Number($(this).val()); 
  })

    $('.cb2:checked').each(function(){
     sum2 += Number($(this).val()); 
  })

   $('.cb3:checked').each(function(){
     sum3 += Number($(this).val()); 
  })

 $('#totalsum').val(sum1+sum2+sum3);
  $('#total').val(sum1*sum2*sum3);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" class="cb1"  value="1" />Game 1 (1)
<input type="checkbox" class="cb1"  value="1" />Game 1 (1)
<input type="checkbox" class="cb1"  value="1"/> Game 1(1)
<br>

<br>
<input type="checkbox" class="cb2" value="1"  />Game 2 (1)
<input type="checkbox" class="cb2" value="1" />Game 2 (1)
<input type="checkbox" class="cb2" value="1"/> Game 2(1)
<br>

<br>
<input type="checkbox" class="cb3"  value="1"  />Game 3 (1)
<input type="checkbox" class="cb3"  value="1" />Game 2 (1)
<input type="checkbox" class="cb3" value="1"/> Game 3(1)
<br>

<input type="text" id="totalsum" value=""/>
<input type="text" id="total" value=""/>

js小提琴:https://jsfiddle.net/6nbrxd2w/