hola amigos que me recomiendan para mejor el siguiente código, intente utilizar un switch pero no me funciona.
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 originalvar 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));
});