Pregunta

No puedo entender lo que estoy haciendo mal?Creo que he escrito todo muy bien:

El código HTML va así:

    <b>&nbspSelect Area</b>
    <select id="mySelect_1" onchange="showSelectedArea();" > 
    <option selected disabled hidden value=''></option>"
    <option value="1">Center</option> 
    <option value="2">New jersey</option>
    </select>

y el javascript es esto:

    layer1.setVisibility(false);    
    layer2.setVisibility(false);    
    layer3.setVisibility(false);
    layer4.setVisibility(false);    

    }

    function showSelectedArea() {

    var e = document.getElementById("mySelect_1");
    var valueEpilogi_1 = e.options[e.selectedIndex].value;

    if (valueEpilogi_1 == "1") {
          layer3.setVisibility(true);   
    }

    }

No creo que el problema sea con el valor de Si o que no haga el valor, si me establece VERDADERO==, todavía no se establece la visibilidad con verdadero. Creo que hay un problema con la activación de la función en la etiqueta de selección.

Por favor revise mi archivo JS externo y dígame, ¿cuál es el problema?¿Defino todas las capas en la función de inicio que se ejecuta en la carga de la persona? ¿Es el problema de THTE?snk.to/f-cdh90xd4

¿Fue útil?

Solución

Debe leer el valor de la selección intente eso:

var valueepilogi_1= document.getelementbyid ('myselect_1'). Valor;

Editar: Si desea usar 'Capa' fuera de su función INIT (), debe definirse como variable global

Ejemplo:

function init(){
/* this variable is global, declaration without  'var' before, so it can be used out of the function*/
perioxes = new OpenLayers.Layer.Vector("Polygon Layer");
...
map.addLayer(perioxes); 
..
perioxes.setVisibility(false); 
...
}

function showSelectedArea() {

var valueEpilogi_1 = document.getElementById('mySelect_1').value ;

if (valueEpilogi_1 == "1") {
layer.setVisibility(true);   
}

}

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top