Foros del Web » Programando para Internet » Javascript »

Como hago para ocultar los checkbox no selecionados?

Estas en el tema de Como hago para ocultar los checkbox no selecionados? en el foro de Javascript en Foros del Web. Hola amigos, Vereis tengo este codigo que al marcar dos checbox muestra y ocultar dos text la cosa es que necesitaria que los demas checkbox ...
  #1 (permalink)  
Antiguo 23/09/2013, 15:21
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Como hago para ocultar los checkbox no selecionados?

Hola amigos,

Vereis tengo este codigo que al marcar dos checbox muestra y ocultar dos text la cosa es que necesitaria que los demas checkbox que no han dido marcados se oculten al pulsar dos de ellos.

Este es el codigo:

Código HTML:
Ver original
  1. //Número máximo de casillas marcadas por cada fila
  2. var maxi=1;
  3. var maxii=2;
  4.  
  5. //El contador es un arrayo de forma que cada posición del array es una linea del formulario
  6. var contador=new Array(0,0);
  7.  
  8. function validar(check,grupo) {
  9.     //Compruebo si la casilla está marcada
  10.     if (check.checked==true){
  11.         //está marcada, entonces aumento en uno el contador del grupo
  12.         contador[grupo]++;
  13.         //compruebo si el contador ha llegado al maximo permitido
  14.         if (contador[grupo]>maxi) {
  15.             //si ha llegado al máximo, muestro mensaje de error
  16.         document.getElementById("content").style.display= 'block';
  17.         document.getElementById("content1").style.display= 'block';        
  18.  
  19.             //alert('No se pueden elegir más de '+maxi+' casillas a la vez.');
  20.             //desmarco la casilla, porque no se puede permitir marcar
  21.             //check.checked=false;
  22.             //resto una unidad al contador de grupo, porque he desmarcado una casilla
  23.             //contador[grupo]--;
  24.         }else{
  25.         document.getElementById("content").style.display= 'none';
  26.  
  27.         }
  28.     }
  29.  
  30.     if (check.checked==false){
  31.  
  32.         contador[grupo]--;
  33.  
  34.             if (contador[grupo]<maxii) {
  35.  
  36.                     document.getElementById("content").style.display= 'none';
  37.                     document.getElementById("content1").style.display= 'none';
  38.                 }
  39.     }
  40. }
  41. <form action="" method="post" enctype="multipart/form-data" name="formulario" id="formulario">
  42. <table width="76">
  43.     <td width='20' valign='top'><input type='checkbox' onclick='validar(formulario.checkbox1,0)' name='checkbox1' value='checkbox1'></td>
  44.     <td width='20' valign='top'><input type='checkbox' onclick='validar(formulario.checkbox2,0)' name='checkbox2' value='checkbox2'></td>
  45.     <td width='20' valign='top'><input type='checkbox' onclick='validar(formulario.checkbox3,0)' name='checkbox3' value='checkbox3'></td>
  46.     <td width='20' valign='top'><input type='checkbox' onclick='validar(formulario.checkbox4,0)' name='checkbox4' value='checkbox3'></td>
  47.     <td width='20' valign='top'><input type='checkbox' onclick='validar(formulario.checkbox5,0)' name='checkbox5' value='checkbox3'></td>
  48.     <td width='20' valign='top'><input type='checkbox' onclick='validar(formulario.checkbox6,0)' name='checkbox6' value='checkbox3'></td>
  49.     <td width='20' valign='top'><input type='checkbox' onclick='validar(formulario.checkbox7,0)' name='checkbox7' value='checkbox3'></td>                
  50.   </table>
  51. </form>
  52.  
  53.  
  54. <input type="text" id="content" name="" style="display: none;">
  55. <input type="text" id="content1" name="" style="display: none;">


A ver si alguien se le ocurre como podria hacer esto


Saludos!!!
  #2 (permalink)  
Antiguo 23/09/2013, 17:16
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Como hago para ocultar los checkbox no selecionados?

He conseguido hacer lo que necesita, ahora la cosa es que cuando marcamos dos checkbox aparecen sus campos text respectivos, pero no consigo que cuando desmarcamos uno de ellos ocute el restante tambien,

El codigo:

Código HTML:
Ver original
  1. //Número máximo de casillas marcadas por cada fila
  2. var maxi=2;
  3. var maxii=2;
  4.  
  5. //El contador es un arrayo de forma que cada posición del array es una linea del formulario
  6. var contador=new Array(0,0);
  7. var contador1=new Array(0,0);
  8.  
  9. function validar(check,grupo) {
  10.     //Compruebo si la casilla está marcada
  11.     if (check.checked==true){
  12.         //está marcada, entonces aumento en uno el contador del grupo
  13.         contador[grupo]++;
  14.         //compruebo si el contador ha llegado al maximo permitido
  15.        
  16.  
  17.  
  18.         if (contador[grupo]==maxi) {
  19.             //si ha llegado al máximo, muestro mensaje de error
  20.  
  21.             if(document.getElementById("af_1").checked==true){
  22.         document.getElementById("content1").style.display= 'block';
  23.     }
  24.             if(document.getElementById("af_2").checked==true){
  25.         document.getElementById("content2").style.display= 'block';
  26.     }    
  27.             if(document.getElementById("af_3").checked==true){
  28.         document.getElementById("content3").style.display= 'block';
  29.     }    
  30.             if(document.getElementById("af_4").checked==true){
  31.         document.getElementById("content4").style.display= 'block';
  32.     }    
  33.             if(document.getElementById("af_5").checked==true){
  34.         document.getElementById("content5").style.display= 'block';
  35.     }    
  36.             if(document.getElementById("af_6").checked==true){
  37.         document.getElementById("content6").style.display= 'block';
  38.     }    
  39.             if(document.getElementById("af_7").checked==true){
  40.         document.getElementById("content7").style.display= 'block';
  41.     }    
  42.             if(document.getElementById("af_8").checked==true){
  43.         document.getElementById("content8").style.display= 'block';
  44.     }    
  45.             if(document.getElementById("af_9").checked==true){
  46.         document.getElementById("content9").style.display= 'block';
  47.     }                                
  48.  
  49.         }
  50.  
  51.             if (contador[grupo]>maxi) {
  52.  
  53.                 check.checked=false;
  54.             }
  55.  
  56.     }
  57.  
  58.     if (check.checked==false){
  59.  
  60.  
  61.         contador[grupo]--;
  62.  
  63.             if (contador[grupo]<maxi) {
  64.  
  65.                 contador[grupo]--;
  66.                 maxi--;
  67.  
  68.  
  69.             if(document.getElementById("af_1").checked==false){
  70.        document.getElementById("content1").style.display= 'none';
  71.    }
  72.             if(document.getElementById("af_2").checked==false){
  73.        document.getElementById("content2").style.display= 'none';
  74.    }    
  75.             if(document.getElementById("af_3").checked==false){
  76.        document.getElementById("content3").style.display= 'none';
  77.    }    
  78.             if(document.getElementById("af_4").checked==false){
  79.        document.getElementById("content4").style.display= 'none';
  80.    }    
  81.             if(document.getElementById("af_5").checked==false){
  82.        document.getElementById("content5").style.display= 'none';
  83.    }    
  84.             if(document.getElementById("af_6").checked==false){
  85.        document.getElementById("content6").style.display= 'none';
  86.    }    
  87.             if(document.getElementById("af_7").checked==false){
  88.        document.getElementById("content7").style.display= 'none';
  89.    }    
  90.             if(document.getElementById("af_8").checked==false){
  91.        document.getElementById("content8").style.display= 'none';
  92.    }    
  93.             if(document.getElementById("af_9").checked==false){
  94.        document.getElementById("content9").style.display= 'none';
  95.    }  
  96.        
  97.                 }
  98.  
  99.                
  100.     }
  101.  
  102.  
  103.  
  104. }
  105. <form action="" method="post" enctype="multipart/form-data" name="formulario" id="formulario">
  106. <table width="760">
  107.  
  108.                 <tr>
  109.                         <td width="50px" valign="top" style="padding:15px 0px 13px 40px;"><input type="checkbox" onclick='validar(formulario.af_1,0)' id="af_1" name="af_1">
  110. <input type="text" id="content1" name="" style="display: none;">
  111.                         </td>
  112.  
  113.                         <td style="padding:15px 0px 0px 0px;">
  114.  
  115.                         1.   Doy mucho valor a lo que es correcto. Creo que tengo un                        
  116.                            
  117.                         </td>
  118.                 </tr>
  119.                
  120.                 <tr>
  121.                         <td width="50px" valign="top" style="padding:25px 0px 13px 40px;"><input type="checkbox" onclick='validar(formulario.af_2,0)' id="af_2" name="af_2">
  122. <input type="text" id="content2" name="" style="display: none;">
  123.                         </td>
  124.  
  125.                         <td style="padding:25px 0px 0px 0px;">
  126.  
  127.                         2.  Busco ayudar, agradar. Estoy casi siempre pendiente de los .
  128.                            
  129.                         </td>
  130.                 </tr>
  131.                
  132.                 <tr>
  133.                         <td width="50px" valign="top" style="padding:25px 0px 13px 40px;"><input type="checkbox" onclick='validar(formulario.af_3,0)' id="af_3" name="af_3">
  134. <input type="text" id="content3" name="" style="display: none;">
  135.                         </td>
  136.  
  137.                         <td style="padding:25px 0px 0px 0px;">
  138.  
  139.                         3.  Trabajo intensamente y hago lo que me propongo. Soy
  140.                            
  141.                         </td>
  142.                 </tr>
  143.  
  144.                 <tr>
  145.                         <td width="50px" valign="top" style="padding:15px 0px 13px 40px;"><input type="checkbox" onclick='validar(formulario.af_4,0)' id="af_4" name="af_4">
  146. <input type="text" id="content4" name="" style="display: none;">
  147.                         </td>
  148.  
  149.                         <td style="padding:25px 0px 0px 0px;">
  150.  
  151.                         4.  Soy creativa, original, empática, intuitiva, intensa. Puedo
  152.                            
  153.                         </td>
  154.                 </tr>                
  155.                        
  156.  
  157.                 <tr>
  158.  
  159.  
  160.                 <tr>
  161.                         <td width="50px" valign="top" style="padding:25px 0px 13px 40px;"><input type="checkbox" onclick='validar(formulario.af_5,0)' id="af_5" name="af_5">
  162. <input type="text" id="content5" name="" style="display: none;">
  163.                         </td>
  164.  
  165.                         <td style="padding:25px 0px 0px 0px;">
  166.  
  167.                         5.  Soy generalmente callada, objetiva y analítica. Prefiero
  168.                            
  169.                         </td>
  170.                 </tr>  
  171.  
  172.  
  173.  
  174.                 <tr>
  175.                         <td width="50px" valign="top" style="padding:25px 0px 13px 40px;"><input type="checkbox" onclick='validar(formulario.af_6,0)' id="af_6" name="af_6">
  176. <input type="text" id="content6" name="" style="display: none;">
  177.                         </td>
  178.  
  179.                         <td style="padding:25px 0px 0px 0px;">
  180.  
  181.                         6.  Dudo de casi todo y mucho de las intenciones de los demás,  
  182.                            
  183.                         </td>
  184.                 </tr>  
  185.  
  186.  
  187.  
  188.                 <tr>
  189.                         <td width="50px" valign="top" style="padding:25px 0px 13px 40px;"><input type="checkbox" onclick='validar(formulario.af_7,0)' id="af_7" name="af_7">
  190. <input type="text" id="content7" name="" style="display: none;">
  191.                         </td>
  192.  
  193.                         <td style="padding:25px 0px 0px 0px;">
  194.  
  195.                         7.  Soy emprendedora, divertida y entusiasta, imagino
  196.                            
  197.                         </td>
  198.                 </tr>  
  199.  
  200.  
  201.                 <tr>
  202.                         <td width="50px" valign="top" style="padding:25px 0px 13px 40px;"><input type="checkbox" onclick='validar(formulario.af_8,0)' id="af_8" name="af_8">
  203. <input type="text" id="content8" name="" style="display: none;">
  204.                         </td>
  205.  
  206.                         <td style="padding:25px 0px 0px 0px;">
  207.  
  208.                         8.  Soy asertiva, directa, generosa y trabajadora, hago que las
  209.                            
  210.                         </td>
  211.                 </tr>                                                  
  212.  
  213.  
  214.                 <tr>
  215.                         <td width="50px" valign="top" style="padding:25px 0px 13px 40px;"><input type="checkbox" onclick='validar(formulario.af_9,0)' id="af_9" name="af_9">
  216. <input type="text" id="content9" name="" style="display: none;">
  217.                         </td>
  218.  
  219.                         <td style="padding:25px 0px 0px 0px;">
  220.  
  221.                         9.   Soy una persona tranquila, adaptable y sencilla. Prefiero
  222.                            
  223.                         </td>
  224.                 </tr>
  225.                
  226.   </table>
  227. </form>

A ver si alguien se le ocurre como se puede hacer esto

Saludos!!
  #3 (permalink)  
Antiguo 24/09/2013, 10:31
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 3 meses
Puntos: 53
Respuesta: Como hago para ocultar los checkbox no selecionados?

adecuandolo a tu codigo , primero una funcion que ocultara todos los text box cuando un check se inactiva

Código Javascript:
Ver original
  1. function ocultar(){
  2. caja=document.getElementsByTagName("input");
  3. for(var i=0;i<caja.length;i++)
  4. {
  5. if(caja[i].type == 'text')
  6. {
  7. document.getElementById(caja[i].id).style.display="none";
  8. }
  9. }
  10. }

despues llamarla en cada caso

Código Javascript:
Ver original
  1. if(document.getElementById("af_1").checked==false){
  2.   ocultar();
  3. }
  4. if(document.getElementById("af_2").checked==false){
  5.   ocultar();
  6. }    
  7. if(document.getElementById("af_3").checked==false){
  8.   ocultar();
  9. }    
  10. if(document.getElementById("af_4").checked==false){
  11.   ocultar();
  12. }    
  13. if(document.getElementById("af_5").checked==false){
  14.   ocultar();
  15. }    
  16. if(document.getElementById("af_6").checked==false){
  17.   ocultar();
  18. }    
  19. if(document.getElementById("af_7").checked==false){
  20.   ocultar();
  21. }    
  22. if(document.getElementById("af_8").checked==false){
  23.   ocultar();
  24. }    
  25. if(document.getElementById("af_9").checked==false){
  26.   ocultar();
  27. }

optimizando un poco la ultima parte

Código Javascript:
Ver original
  1. for(cantidadchk=1;cantidadchk<=9;cantidadchk++)
  2. {
  3.     if(document.getElementById("af_"+cantidadchk).checked==false){
  4.   ocultar();
  5. }
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”

Etiquetas: checkbox, formulario, input
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 22:54.