Domanda

Non riesco a capire cosa sto sbagliando?Penso di aver scritto tutto bene:

Il codice HTML è così:

    <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>
.

E il JavaScript è questo:

    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);   
    }

    }
.

Non penso che il problema sia con il valore se o che passa il valore, se ho impostato True== true è ancora non impostare la visibilità su true.i Penso che ci sia un problema con il trigger della funzione al tag Select. Si prega di controllare il mio file JS esterno e dimmi qual è il problema ??Definisco tutti i livelli in Funzione Init che esegue il carico subody ?? è il problema?snk.to/f-cdh90xd4

È stato utile?

Soluzione

È necessario leggere il valore della selezione Prova che:

va Valineepilogi_1= document.getelementbyID ('mySELECT_1'). Valore;

Modifica: Se si desidera utilizzare "livello" al di fuori della funzione di init (), deve essere definito come variabile globale

Esempio:

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);   
}

}
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top