Foros del Web » Programando para Internet » Javascript »

varios valores en la misma opcion

Estas en el tema de varios valores en la misma opcion en el foro de Javascript en Foros del Web. Quiero poner algo similar a esto en mi página, pero no me funciona del todo. <HTML> <HEAD> <script> function OcultarCapa (Capa) { Capa.style.visibility = "hidden" ...
  #1 (permalink)  
Antiguo 30/08/2005, 14:44
Avatar de Wel
Wel
 
Fecha de Ingreso: marzo-2003
Mensajes: 77
Antigüedad: 21 años, 1 mes
Puntos: 0
varios valores en la misma opcion

Quiero poner algo similar a esto en mi página, pero no me funciona del todo.

<HTML>
<HEAD>
<script>

function OcultarCapa (Capa) {
Capa.style.visibility = "hidden"
}

function OcultarListadoCapas() {
a=OcultarListadoCapas.arguments;
for(i=0; i<a.length; i++)
OcultarCapa(a[i]);
}
</script>
</HEAD>

<BODY>
<form method="get" name="formulario">
<select onChange="javascript:OcultarListadoCapas(eval(docu ment.formulario.categorias.options[document.formulario.categorias.selectedIndex].value))" name="categorias">
<option value=capaA1,capaA3,capaA5>Opcion 1</option>
<option value=capaA2,capaA4>Opcion 2</option>
</select>
</form>

<div id="capaA1" Style="visibility:visible; background:red;">mi capa 1</div>
<div id="capaA2" Style="visibility:visible; background:blue;">mi capa 2</div>
<div id="capaA3" Style="visibility:visible; background:green;">mi capa 3</div>
<div id="capaA4" Style="visibility:visible; background:yellow;">mi capa 4</div>
<div id="capaA5" Style="visibility:visible; background:orange;">mi capa 5</div>
</BODY>
</HTML>



La funcion basicamente de esto es que tengo varias capas y desde un formulario "<select>" quiero elegir que capas se ocultan, el problema es que desde una misma opcion selecionada, se tienen que ocultar varias capas, y este ejemplo solo me oculta la ultima que tiene en "VALUE".

Asi por ejemplo si selecciono OPCION 1, solo me oculta la capaA5, pero la capaA1 y capaA3 no.
lo mismo sucede si selecciono OPCION 2, me oculta la capaA4, pero la capaA2 no.

¿Alguien sabe por que pasa esto. y como solucionarlo?

Os doy las Gracias anticipadas, puesto que siempre me habeis ayudado mucho.
  #2 (permalink)  
Antiguo 30/08/2005, 19:18
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 10 meses
Puntos: 4
todo eso se simplifica asi:

Código HTML:
<HTML>
<HEAD>
<script>

function OcultarCapa (Capa) {
document.getElementById(Capa).style.visibility = "hidden"
}

function OcultarListadoCapas(v) {
var tmp = v.split(",");
for (i=0;i<tmp.length;i++)
OcultarCapa(tmp[i]);
}
</script>
</HEAD>

<BODY>
<form method="get" name="formulario">
<select onChange="OcultarListadoCapas(this.value)" name="categorias">
<option value=capaA1,capaA3,capaA5>Opcion 1</option>
<option value=capaA2,capaA4>Opcion 2</option>
</select>
</form>

<div id="capaA1" Style="visibility:visible; background:red;">mi capa 1</div>
<div id="capaA2" Style="visibility:visible; background:blue;">mi capa 2</div>
<div id="capaA3" Style="visibility:visible; background:green;">mi capa 3</div>
<div id="capaA4" Style="visibility:visible; background:yellow;">mi capa 4</div>
<div id="capaA5" Style="visibility:visible; background:orange;">mi capa 5</div>
</BODY>
</HTML> 
  #3 (permalink)  
Antiguo 31/08/2005, 10:13
Avatar de Wel
Wel
 
Fecha de Ingreso: marzo-2003
Mensajes: 77
Antigüedad: 21 años, 1 mes
Puntos: 0
GRACIAS !!!, SiR.CARAJ0DIDA, me ha valido.

pero me surgue un problema:
Si justo antes de definir las capas pongo esto, me da error la funcion MostrarCapa, y con la función que tenia antes si me valia.

<script>
vector = ['capaA1','capaA2','capaA3','capaA4','capaA5'];
i=1; //i es un valor que varia con otra funcion, ponemos de prueba el valor 1
document.write("<a onclick=\"MostrarCapa("+vector[i]+")\">Ocultar Capa valor I</a>");
</script>

Última edición por Wel; 31/08/2005 a las 10:56
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:41.