Lo que pretendo es realizar sumas dependiendo de si se marca o no un grupo decheckbox, estos checkbox están agrupados por áreas.
los checkbox los creo desde base de datos
Código PHP:
Ver original
@foreach($reglas as $key => $regla) @if ($area != $regla->area->nombre) $area = $regla->area->nombre; @endif <input type="checkbox" id="{{ $regla->area->id }}" class="estado" value="{{ $regla->valor_1 }}"> @endforeach
Código Javascript:
Ver original
var sum1 = 0; sum2 = 0; sum3 = 0; sum4 = 0; sum5 = 0; totalArea1 = 0; totalArea2 = 0; totalArea3 = 0; totalArea4 = 0; totalArea5 = 0; $(".estado").change(function() { if(this.checked) { var area = this.id; if (area == 1) { sum1 += Number($(this).val()); totalArea1 = sum1*0.7; $('#checkme').attr('checked',true); }; if (area == 2) { sum2 += Number($(this).val()); totalArea2 = sum2*0.1; }; if (area == 3) { sum3 += Number($(this).val()); totalArea3 = sum3*0.1; }; if (area == 4) { sum4 += Number($(this).val()); totalArea4 = sum4*0.05; }; if (area == 5) { sum5 += Number($(this).val()); totalArea5 = sum5*0.05; }; }else{ //var area = this.id; //alert(area); var area = this.id; if (area == 1) { sum1 -= Number($(this).val()); totalArea1 = sum1*0.7; $('#checkme').attr('checked',false); } if (area == 2) { sum2 -= Number($(this).val()); totalArea2 = sum2*0.1 } if (area == 3) { sum3 -= Number($(this).val()); totalArea3 = sum3*0.1; } if (area == 4) { sum4 -= Number($(this).val()); totalArea4 = sum4*0.05; } if (area == 5) { sum5 -= Number($(this).val()); totalArea5 = sum5*0.05; } } $('#Sis').html(Math.round(sum1 * 100) / 100); $('#Def').html(Math.round(sum2 * 100) / 100); $('#Geo').html(Math.round(sum3 * 100) / 100); $('#Geof').html(Math.round(sum4 * 100) / 100); $('#Geol').html(Math.round(sum5 * 100) / 100); var ia=(totalArea1 + totalArea2 + totalArea3 + totalArea4 + totalArea5)*100; $('#IA-1').html(ia.toFixed(2)); });