Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/04/2012, 20:42
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Contar el numero de checkbox activos

Varias cosas a mencionar
No podés repetir los id.
Si los checkboxes corresponden a un mismo grupo, y al parecer asi es (digamos el grupo "opciones"), no tenes que darles names diferentes, contruis un array para que php lo procese
Si ya estás utilizando jquery ($.ajax), por que no simplifica´s y hacés todo con jquery.

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. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
  7. </head>
  8. <form id="form1" method="post" action="recibio.php" style="width: 50%;" name="form1">
  9. <fieldset><label for="nombre">Nombre</label> <input type="text" name="nombre" id="nombre" class="text ui-widget-content ui-corner-all" />
  10. <table border="0" id="users">
  11. <tr>
  12. <td width="244"><label><input class="chk" type="checkbox" name="opcion[]" value="opcion1" /> Opcion 1</label></td>
  13.  
  14. </tr>
  15. <tr>
  16. <td><label><input class="chk" type="checkbox" name="opcion[]" value="opcion2" /> Opcion 2</label></td>
  17. </tr>
  18. <tr>
  19. <td><label><input class="chk" type="checkbox" name="opcion[]" value="opcion3" /> Opcion 3</label></td>
  20. </tr>
  21. <tr>
  22. <td><label><input class="chk" type="checkbox" name="opcion[]" value="opcion4" /> Opcion 4</label></td>
  23. </tr>
  24. <tr>
  25.  
  26. <td><label><input class="chk" type="checkbox" name="opcion[]" value="opcion5" /> Opcion 5</label></td>
  27. </tr>
  28. <tr>
  29. <td><label><input class="chk" type="checkbox" name="opcion[]" value="opcion6" /> Opcion 6</label></td>
  30. </tr>
  31. <tr>
  32. <td><label><input class="chk" type="checkbox" name="opcion[]" value="opcion7" /> Opcion 7</label></td>
  33. </tr>
  34. <tr>
  35. <td><label><input class="chk" type="checkbox" name="opcion[]" value="opcion8" /> Opcion 8</label></td>
  36.  
  37. </tr>
  38. <tr>
  39. <td><label><input class="chk" type="checkbox" name="opcion[]" value="opcion9" /> Opcion 9</label></td>
  40. </tr>
  41. <tr>
  42. <td><input class="chk" type="checkbox" name="opcion[]" value="opcion10" /> Opcion 10</td>
  43. </tr>
  44. <tr>
  45. <td><input class="chk" type="checkbox" name="opcion[]" value="opcion11" /> Opcion 11</td>
  46. </tr>
  47. <tr>
  48.  
  49. <td><input class="chk" type="checkbox" name="opcion[]" value="opcion12" /> Opcion 12</td>
  50. </tr>
  51. <tr>
  52. <td>&nbsp;</td>
  53. </tr>
  54. <tr>
  55. <td><label><input type='checkbox' id='chk_todos' value="checkbox" /></label> todos</td>
  56. </tr>
  57. <input name="contador" id="contador" type="text" value="ninguno" /></form>
  58. <script type="text/javascript">
  59. //<![CDATA[
  60. $(document).ready(function(){  
  61. $(".chk").click(function(event) {
  62. var laclase = $(this).attr("class");
  63. var count = $(":checkbox.chk:checked").length;
  64. $('#contador').val(count);
  65. });
  66.  
  67. $("#chk_todos").click(function(){
  68.  
  69. var checked_estado = this.checked;
  70.  
  71. if(checked_estado == true){
  72.  $('#contador').val('todos');
  73.  }else{
  74.  $('#contador').val('ninguno');
  75.  }
  76.  $(".chk").each(function(){
  77.  this.checked = checked_estado;
  78.  });
  79. });
  80. });
  81. //]]>
  82.  
  83. </body>
  84. </html>

Para finalizar, el valor de la cantidad de opciones seleccionadas y el valor de las mismas, se puede hacer en el php
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.