Ver Mensaje Individual
  #11 (permalink)  
Antiguo 09/06/2012, 10:10
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Checkbox por grupos en tabla dinámica

Cita:
Iniciado por diamari Ver Mensaje
Veo el problema ahora y es buena ;). Existe vario opciones que puedes utilizar para resolverlo pero en esencial lo que necesitas es una forma de identificar cada checkbox de un modulo determinado.

Ahora pregunto, como esta tablas son generados automáticamente el nombre de todos es a_permiso[]? Se puede modificar este o implementar id? Esto buscando la forma mas simple de intentar de resolver esto.

En que navegadores estas probando tu código?
Por favor . lean detenidamente as soluciones propuestas, la solución ya fue indicada, basta con esto
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. </head>
  7. <form action="#" method="post">
  8. <div>
  9. <input type="checkbox" name="cap[]" value="2" class="grupo1" />
  10. <input type="checkbox" name="cap[]" value="3" class="grupo1" />
  11. <input type="checkbox" name="cap[]" value="4" class="grupo1" />
  12. <input type="checkbox" name="cap[]" value="5" class="grupo1" />
  13. <br />
  14. <input type="checkbox" name="cap[]" value="6" class="grupo2"/>
  15. <input type="checkbox" name="cap[]" value="7" class="grupo2"/>
  16. <input type="checkbox" name="cap[]" value="8" class="grupo2"/>
  17. <input type="checkbox" name="cap[]" value="9" class="grupo2"/>
  18. <br /><br />
  19. <input type="button" value="marcar todo el grupo 1" onclick="MarcarTodos('grupo1');" />
  20. <input type="button" value="marcar todo el grupo 2"  onclick="MarcarTodos('grupo2');"/>
  21.  
  22. </div>
  23. </form>
  24. <script type="text/javascript">
  25. //<![CDATA[
  26. function MarcarTodos(laClase){
  27. var los_cboxes = document.getElementsByName('cap[]');
  28. for (var i = 0, j = los_cboxes.length; i < j; i++) {
  29.    
  30.    if(los_cboxes[i].className  == laClase){
  31.    los_cboxes[i].checked = true;
  32.    }
  33. }
  34.  
  35. }
  36. //]]>
  37. </body>
  38. </html>

Usas className y es suficiente para agrupar los checkboxes aunque tengan el mismo name, si se desea también se puede pasar el name como parámetro y hacer una doble condición. Y aun mejorarse con cambiar el estado a "desmarcar todos", usando el mismo botón y modificando el texto del mismo

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.