Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2013, 14:24
maikelnait
 
Fecha de Ingreso: octubre-2007
Mensajes: 1
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Checkbox dinámicos con PHP: recuperar si un checkbox esta checked por jQuery

Buenas,
Estoy atascadísimo con este problema:
Tengo un listado de checkbox generados dinámicamente mediante PHP, cuyo value, es una cantidad que quiero sumar en un input text que muestra el total de lo que se va seleccionando. Con el evento onclick, voy sumando el valor de cada check, pero necesito saber si esta checked o no para sumar o restar, en la función donde voy sumando.
Este es el código:
PHP (generado con smarty):
Código PHP:
Ver original
  1. {foreach from=$list_accesorios item="entry_accesorios"}
  2. <div class="control-group">
  3.     <div class="controls">
  4.        
  5.         <input type="checkbox" class="ejemploCheckbox1" name="{$entry_accesorios.id_accesorio}" id="{$entry_accesorios.nombre}" value="{$entry_accesorios.valor}" onclick="suma({$entry_accesorios.valor})" />
  6.         {$entry_accesorios.nombre} - {$entry_accesorios.valor}
  7.     </div>
  8. </div>
  9. {/foreach}
  10. {if $no_accesorios eq "1"}
  11.     <h4 class="block">Sin Accesorios para el modelo seleccionado</h4>
  12. {else}
  13.     <h4 class="block">Total Accesorios Seleccionados: <input type="text" name="total_accesorios" id="total_accesorios" disabled="1" value=""></h4>
  14.     <div  id="contiene_total"></div>
  15. {/if}
Función JQuery
Código Javascript:
Ver original
  1. <script>
  2.         function suma(cantidad){
  3.             //var checkbox = $(this);
  4.             var total = parseFloat($("#total_accesorios").val());
  5.             if(isNaN(total) == true){
  6.                 total=0;
  7.             }
  8.             var sumar = parseFloat(total) + parseFloat(cantidad);
  9.            
  10.             $("#total_accesorios").val(sumar);
  11.             var campo_total = "<input type='hidden' name='total_accesorios_enviar' value='"+sumar+"'>";
  12.             $("#contiene_total").html(campo_total);
  13.        }
  14.    </script>

Muchas gracias a todos!