Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/02/2014, 10:23
beinat
 
Fecha de Ingreso: abril-2008
Mensajes: 64
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Desactivar checkboxes cuando se clickean 5 de ellos

Mi propuesta es la siguiente:

Cada vez que toques a un boton llamar a una funcion en javaScript y que este compruebe las que estan seleccionada si son igual a 5 desabilitar las demas sino habilitarlas, los id de los checkbox son los que tu as dicho, yo e probado creando una clase en todas igual llamada "check" para luego desde javaScript con document.getElementsByClassName poder coger todas quedando el codigo de esta manera:
Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <script type="text/javascript" >
  4.  
  5.  function prueba(){
  6.   c=document.getElementsByClassName('check');
  7.   count=0;
  8.   for(i=0;i<c.length;i++){
  9.  
  10.    if(c[i].checked==1){count++;}
  11.   }
  12.  alert("En total hay: " + count + "seleccionados");
  13.  if(count==5){
  14.   alert("no se puede seleccionar mas!!")
  15.   for(i=0;i<c.length;i++){
  16.    if(c[i].checked==0){
  17.     c[i].disabled=true;
  18.    }
  19.   }
  20.  }
  21.  else{
  22.   for(i=0;i<c.length;i++){
  23.    if(c[i].disabled=true){c[i].disabled=false;}
  24.    }
  25.  }
  26. }
  27. </script>
  28. </head>
  29.  <body>
  30.   <input type="checkbox"  class="check" id="atrib_1" onclick="prueba()"/>uno<br />
  31.   <input type="checkbox"  class="check" id="atrib_2" onclick="prueba()"/>dos<br />
  32.   <input type="checkbox"  class="check" id="atrib_3" onclick="prueba()" />tres<br />
  33.   <input type="checkbox"  class="check" id="atrib_4" onclick="prueba()"/>cuatro<br />
  34.   <input type="checkbox" class="check" id="atrib_5" onclick="prueba()"/>cinco<br />
  35.   <input type="checkbox" class="check" id="atrib_6" onclick="prueba()"/>seis<br />
  36.   <input type="checkbox" class="check" id="atrib_7" onclick="prueba()"/>siete<br />
  37.   <input type="checkbox" class="check" id="atrib_8" onclick="prueba()"/>ocho<br />
  38.   <input type="checkbox" class="check" id="atrib_9" onclick="prueba()"/>nueve<br />
  39.   <input type="checkbox" class="check" id="atrib_10" onclick="prueba()"/>diez<br />
  40.   <input type="checkbox" class="check" id="atrib_11" onclick="prueba()"/>once<br />
  41.   <input type="checkbox" class="check" id="atrib_12" onclick="prueba()"/>doce<br />
  42.   <input type="checkbox" class="check" id="atrib_13" onclick="prueba()"/>trece<br />
  43.   <input type="checkbox" class="check" id="atrib_14" onclick="prueba()"/>catorce<br />
  44.   <input type="checkbox" class="check" id="atrib_15" onclick="prueba()"/>quince<br />
  45.   <input type="checkbox" class="check" id="atrib_16" onclick="prueba()"/>dieciseis<br />
  46.   <input type="checkbox" class="check" id="atrib_17" onclick="prueba()"/>diecisiete<br />
  47.   <input type="checkbox" class="check" id="atrib_18" onclick="prueba()"/>dieciocho<br />
  48.   <input type="checkbox" class="check" id="atrib_19" onclick="prueba()"/>diecinueve<br />
  49.   <input type="checkbox" class="check" id="atrib_20" onclick="prueba()"/>veinte<br />
  50.  
  51.  </body>
  52. </html>
creo que es una forma sencilla de hacerlo teniendo una base de conocimientos, no e probado con el codigo de America|UNK pero igual tambien funciona, yo te propongo para que tengas dos alternativas.

Espero haberte ayudado.

Un saludo!