Foros del Web » Programando para Internet » Javascript »

Desplegar lista de checkbox

Estas en el tema de Desplegar lista de checkbox en el foro de Javascript en Foros del Web. Hola tod@s, os cuento lo que quiero hacer, que imagino que no debe ser tan dificil, pero yo no lo consigo Tengo una lista de ...
  #1 (permalink)  
Antiguo 07/05/2010, 05:21
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 4 meses
Puntos: 8
Desplegar lista de checkbox

Hola tod@s, os cuento lo que quiero hacer, que imagino que no debe ser tan dificil, pero yo no lo consigo
Tengo una lista de checkbox, cada uno tiene un value diferente y hay dos niveles. Por un lado hay tres cuyo value es 017010, 017020 y 017030 y de cada una de estas depende otras, cuyos values son 01701010, 01701020, 017030, 01702010... y lo que quiero hacer es que de primeras solo se vean las tres principales, y al hacer click sobre alguna de ellas, que se desplieguen debajo las que dependen de ella.
Por poner un simil, sería como cuando exploramos las carpetas del ordenador y al darle al + que en la barra de la izquierda, se nos despliegan sus subcarpetas.
Espero haberme explicado bien, que a veces lio mucho las cosas.
Salu2
__________________
Vayamos por Partes :: Jack el Destripador
  #2 (permalink)  
Antiguo 07/05/2010, 08:19
Avatar de _cronos  
Fecha de Ingreso: abril-2010
Mensajes: 135
Antigüedad: 14 años
Puntos: 1
Respuesta: Desplegar lista de checkbox

A ver qué te parece esto:

Código HTML:
Ver original
  1.  <head>
  2.   <title>A</title>
  3.  </head>
  4.  <body>
  5.   <form name="f1" id="f1" action="" method="post">
  6.    <input type="checkbox" value="1" id="c1" onClick='desplegar()'>Opción 1<br>
  7.  
  8.    <input type="checkbox" value="2" id="c2" onClick='desplegar()'>Opción 2<br>
  9.    <input type="checkbox" value="3" id="c3" onClick='desplegar()'>Opción 3<br>
  10.    <div style="visibility:hidden" id='div1'>
  11.    <input type="checkbox" value="1.1" id="c11">Opción 1.1  
  12.    <input type="checkbox" value="1.2" id="c12">Opción 1.2
  13.    </div><div style="visibility:hidden" id='div2'>
  14.    <input type="checkbox" value="2.1" id="c21">Opción 2.1
  15.    <input type="checkbox" value="2.2" id="c22">Opción 2.2
  16.    </div><div style="visibility:hidden" id='div3'>
  17.    <input type="checkbox" value="3.1" id="c31">Opción 3.1
  18.    <input type="checkbox" value="3.2" id="c32">Opción 3.2</div>
  19.  
  20.   </form>
  21.  </body>
  22. </html>
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.    function desplegar(){
  3.     var c1 = document.getElementById('c1');
  4.     var c2 = document.getElementById('c2');
  5.     var c3 = document.getElementById('c3');
  6.     var div1 = document.getElementById('div1');
  7.     var div2 = document.getElementById('div2');
  8.     var div3 = document.getElementById('div3');
  9.     if(c1.checked==true){
  10.      div1.style.visibility = 'visible';  
  11.     }else{
  12.      div1.style.visibility = 'hidden';
  13.     }
  14.     if(c2.checked==true){
  15.      div2.style.visibility = 'visible';  
  16.     }else{
  17.      div2.style.visibility = 'hidden';
  18.     }
  19.     if(c3.checked==true){
  20.      div3.style.visibility = 'visible';  
  21.     }else{
  22.      div3.style.visibility = 'hidden';
  23.     }
  24.    }
  25.   </script>
El problema que tiene es que si sólo se despliega el 2º o el 3º lo hacen más abajo pero eso se puede solucionar con un poco de CSS ¿no?
Saludos (:

Etiquetas: checkbox, desplegar, lista
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 20:56.