Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/02/2012, 22:22
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 checkboxes mientras se marcan

Podés hacerlo así sin necesidad de 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. </head>
  7. <form action="#">
  8.     <div>
  9. <input type="checkbox" class="x" name="uno" /><br />
  10. <input type="checkbox" class="x" name="dos" /><br />
  11. <input type="checkbox" class="x" name="tres" /><br />
  12. Totales: <input type="text" id="totales" class="m" /><br />
  13. </div>
  14. </form>
  15. <script type="text/javascript">
  16. //<![CDATA[
  17. var cboxes = document.getElementsByTagName("input");
  18.     for(var i=0; i < cboxes.length; i++){
  19.         var valor = cboxes[i].checked;
  20.                     // usamos className para < ie9
  21.             if(cboxes[i].className  == 'x'){
  22.                     // verificamos addEventListener para < ie9
  23.                 if(!cboxes[i].addEventListener){
  24.                 cboxes[i].attachEvent("onclick", contar);
  25.                 }else{
  26.                 cboxes[i].addEventListener("click", contar, false);
  27.                 }
  28.         }
  29. }
  30.  
  31. function contar(){
  32. var totales = "";
  33. var contador = 1;
  34. var casillas = document.getElementsByTagName("input");
  35.     for (var i=0; i < casillas.length; i++){
  36.     var valor = casillas[i].checked;
  37.     var clase = casillas[i].className;
  38.         if(clase == 'x'){
  39.             if(valor == true){
  40.             totales = contador++;
  41.             }
  42.         }
  43.  
  44.     }
  45. document.getElementById("totales").value= totales
  46. }
  47. //]]>
  48. </body>
  49. </html>

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