Foros del Web » Programando para Internet » Jquery »

Como puedo mejorar el siguiente codigo

Estas en el tema de Como puedo mejorar el siguiente codigo en el foro de Jquery en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 13/05/2015, 15:11
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Como puedo mejorar el siguiente codigo

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
  1. @foreach($reglas as $key =>  $regla)
  2.  
  3.      @if ($area != $regla->area->nombre)
  4. $area = $regla->area->nombre;
  5.  
  6. @endif
  7. <input type="checkbox" id="{{ $regla->area->id }}" class="estado" value="{{ $regla->valor_1 }}">
  8. @endforeach

Código Javascript:
Ver original
  1. var   sum1 = 0;
  2.         sum2 = 0;
  3.         sum3 = 0;
  4.         sum4 = 0;
  5.         sum5 = 0;
  6.         totalArea1 = 0;
  7.         totalArea2 = 0;
  8.         totalArea3 = 0;
  9.         totalArea4 = 0;
  10.         totalArea5 = 0;
  11.     $(".estado").change(function() {
  12.    
  13.  
  14.     if(this.checked) {
  15.         var area = this.id;
  16.  
  17.         if (area == 1) {
  18.         sum1 += Number($(this).val());
  19.         totalArea1 = sum1*0.7;
  20.         $('#checkme').attr('checked',true);
  21.        
  22.         };
  23.         if (area == 2) {
  24.             sum2 += Number($(this).val());
  25.             totalArea2 = sum2*0.1;
  26.         };
  27.         if (area == 3) {
  28.             sum3 += Number($(this).val());
  29.             totalArea3 = sum3*0.1;
  30.         };
  31.         if (area == 4) {
  32.             sum4 += Number($(this).val());
  33.             totalArea4 = sum4*0.05;
  34.         };
  35.         if (area == 5) {
  36.             sum5 += Number($(this).val());
  37.             totalArea5 = sum5*0.05;
  38.         };          
  39.  
  40.  
  41.     }else{
  42.         //var area = this.id;
  43.         //alert(area);
  44.         var area = this.id;
  45.         if (area == 1) {
  46.         sum1 -= Number($(this).val());
  47.         totalArea1 = sum1*0.7;
  48.         $('#checkme').attr('checked',false);
  49.         }
  50.         if (area == 2) {
  51.         sum2 -= Number($(this).val());
  52.         totalArea2 = sum2*0.1
  53.         }
  54.         if (area == 3) {
  55.         sum3 -= Number($(this).val());
  56.         totalArea3 = sum3*0.1;
  57.         }
  58.         if (area == 4) {
  59.         sum4 -= Number($(this).val());
  60.         totalArea4 = sum4*0.05;
  61.         }
  62.         if (area == 5) {
  63.         sum5 -= Number($(this).val());
  64.         totalArea5 = sum5*0.05;
  65.         }
  66.     }
  67.  
  68.  
  69.     $('#Sis').html(Math.round(sum1 * 100) / 100);
  70.     $('#Def').html(Math.round(sum2 * 100) / 100);
  71.     $('#Geo').html(Math.round(sum3 * 100) / 100);
  72.     $('#Geof').html(Math.round(sum4 * 100) / 100);
  73.     $('#Geol').html(Math.round(sum5 * 100) / 100);
  74.  
  75.     var ia=(totalArea1 + totalArea2 + totalArea3 + totalArea4 + totalArea5)*100;
  76.  
  77.     $('#IA-1').html(ia.toFixed(2));
  78. });
  #2 (permalink)  
Antiguo 14/05/2015, 06:28
(Desactivado)
 
Fecha de Ingreso: abril-2013
Ubicación: rosario
Mensajes: 248
Antigüedad: 11 años, 6 meses
Puntos: 17
Respuesta: Como puedo mejorar el siguiente codigo

Me pondrias un print del html, ya se que son todos checkbox por lo que veo en el php, pero con eso me guio mejor.
Gracias.
  #3 (permalink)  
Antiguo 14/05/2015, 07:13
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: Como puedo mejorar el siguiente codigo

Hola diurno10 asi es como se veria



http://i288.photobucket.com/albums/l...psz25y40yn.png

es lo que me pides? o imprimo el codigo html?
  #4 (permalink)  
Antiguo 14/05/2015, 07:16
(Desactivado)
 
Fecha de Ingreso: abril-2013
Ubicación: rosario
Mensajes: 248
Antigüedad: 11 años, 6 meses
Puntos: 17
Respuesta: Como puedo mejorar el siguiente codigo

NO, lo que quiero ver es como te quedaria el html, ej :

Código HTML:
Ver original
  1. <input type="checkbox" id="1" name="lala" />
  2. <input type="checkbox" id="2" name="lala" />
  3. <input type="checkbox" id="3" name="lala" />
  4. --o puede ser asi
  5.  
  6. <input type="checkbox" id="1" name="lala" />
  7. <input type="checkbox" id="1" name="lala" />
  8. <input type="checkbox" id="1" name="lala" />
  9.  
  10. <input type="checkbox" id="2" name="lala" />
  11. <input type="checkbox" id="2" name="lala" />
  12. <input type="checkbox" id="2" name="lala" />
  #5 (permalink)  
Antiguo 14/05/2015, 07:22
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: Como puedo mejorar el siguiente codigo

este es el código



http://i288.photobucket.com/albums/l...psz25y40yn.png
  #6 (permalink)  
Antiguo 14/05/2015, 07:27
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años, 7 meses
Puntos: 74
Respuesta: Como puedo mejorar el siguiente codigo

En las últimas versiones de jQuery, para comprobar si un checkbox está marcado o no, se usa prop()

Código Javascript:
Ver original
  1. $('#myCheckbox').prop('checked', true);
  2. $('#myCheckbox').prop('checked', false);
  #7 (permalink)  
Antiguo 14/05/2015, 07:35
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 14 años, 2 meses
Puntos: 6
Respuesta: Como puedo mejorar el siguiente codigo

este es mi html



código
http://s288.photobucket.com/user/mon...8drjt.png.html
  #8 (permalink)  
Antiguo 14/05/2015, 08:56
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años, 7 meses
Puntos: 74
Respuesta: Como puedo mejorar el siguiente codigo

En el código tienes un </tr> de más. Fíjate que está marcado en rojo.

Etiquetas: mejorar, siguiente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:13.