Foros del Web » Programando para Internet » Javascript »

Select que muestra y oculta capas

Estas en el tema de Select que muestra y oculta capas en el foro de Javascript en Foros del Web. Hola a tod@s, Quiero hacer un formulario que dependiendo de la opción elejida de un select me muestre unas capas u otras. En total hay ...
  #1 (permalink)  
Antiguo 29/03/2006, 09:05
 
Fecha de Ingreso: julio-2004
Ubicación: San Sebastián de los Reye
Mensajes: 140
Antigüedad: 19 años, 9 meses
Puntos: 2
Select que muestra y oculta capas

Hola a tod@s,

Quiero hacer un formulario que dependiendo de la opción elejida de un select me muestre unas capas u otras. En total hay tres capas, siempre habría que mostrar una y ocultar las otras dos ¿alguien sabe como puedo hacer esto o alguna página donde pueda ver el código?

Muchas gracias
__________________
tecomweb.com - diseño y desarrollo Web
  #2 (permalink)  
Antiguo 29/03/2006, 09:36
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Se puede plantear de distintas maneras, pero te voy a plantear un sistema que yo suelo aplicar...

Pongo distintos atributos para los elementos que quiero mostrar/ocultar... en concreto uso el class...

Luego con el onchange del select muestro/oculto...

Ejemplo escueto:

<div id="contenedor" >
<div class="tipo1" >
contenido de esta capa
</div>

<div class="tipo2" >
contenido de esta capa
</div>

<div class="tipo3" >
contenido de esta capa
</div>

<div class="tipo1" >
contenido de esta capa
</div>
</div>

... Luego el select:

<select onchange="mostrar(this.value)">
<option value="tipo1" > tipo 1 </option>
<option value="tipo2" > tipo 2 </option>
<option value="tipo3" > tipo 3 </option>
</select>

y la función mostrar()

function mostrar(segunClase) {
var capas = document.getElementById("contenedor").getElementsB yTagName("div");
for (var i = 0, total = capas.length; i < total; i ++)
capas[i].style.display = (capas[i].className == segunClase) ? "block" : "none";
}

Lo puse "a capella" así que puede tener errorres, pero importa que entiendas la idea.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 29/03/2006, 11:03
 
Fecha de Ingreso: julio-2004
Ubicación: San Sebastián de los Reye
Mensajes: 140
Antigüedad: 19 años, 9 meses
Puntos: 2
Muchas gracias por la ayuda. Me ha sido de gran utilidad
__________________
tecomweb.com - diseño y desarrollo Web
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 10:15.