Foros del Web » Programando para Internet » Javascript »

contar checkboxes mientras se marcan

Estas en el tema de contar checkboxes mientras se marcan en el foro de Javascript en Foros del Web. Hola tengo una lista de checkboxes y quisiera saber que función puedo crear para que al hacer click a un checkbox se sume a un ...
  #1 (permalink)  
Antiguo 07/02/2012, 10:28
 
Fecha de Ingreso: junio-2010
Mensajes: 117
Antigüedad: 13 años, 10 meses
Puntos: 1
contar checkboxes mientras se marcan

Hola tengo una lista de checkboxes y quisiera saber que función puedo crear para que al hacer click a un checkbox se sume a un contador, para saber cuantos checkboxes tengo en total marcados.

Gracias por su ayuda. Saludos!!
  #2 (permalink)  
Antiguo 07/02/2012, 11:18
Avatar de hmvr414  
Fecha de Ingreso: marzo-2011
Ubicación: Santiago de Cali, Colombia
Mensajes: 74
Antigüedad: 13 años, 1 mes
Puntos: 16
Respuesta: contar checkboxes mientras se marcan

Puedes usar jQuery para seleccionar los checboxes marcados:

Código HTML:
Ver original
  1.     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  2.     <script type="text/javascript" >
  3.         $(document).ready(function () {
  4.             $("#validar").click(function () {
  5.                 var $marcados =$("#miForm input:checked");
  6.                 if ($marcados.length > 0)
  7.                     alert("SELECCIONADOS " +$marcados.length);
  8.                 else {
  9.                     alert("NINGUNA SELECCION");
  10.                 }  
  11.             });
  12.         });
  13.     </script>
  14. </head>
  15.     <form id="miForm">
  16.             <input type="checkbox" value="check1" />Check1
  17.             <input type="checkbox" value="check2"/>Check2
  18.             <input type="checkbox" value="check3" />Check3
  19.             <input type="checkbox" value="check4"/>Check4
  20.        
  21.             <input type="button" id="validar" value="Validar"></input>
  22.         </form>
  23. </body>
  24. </html>
  #3 (permalink)  
Antiguo 07/02/2012, 22:22
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 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.

Etiquetas: checkboxes, mientras
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 09:15.