Question

Je ne peux pas comprendre ce que je fais mal?Je pense que j'ai tout vraiment écrit:

Le code HTML va comme ceci:

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

Et le JavaScript est-ce:

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

    }

Je ne pense pas que le problème est avec la valeur IF ou qui passe la valeur, si je définis true== vrai, il ne peut toujours pas définir la visibilité à True.Je pense qu'il y a un problème de déclenchement de la fonction sur la balise Select.

Veuillez vérifier mon fichier JS externe et dites-moi quel est le problème ??Je définis toutes les couches de la fonction init qui fonctionne à la charge de la volonté ?? Est-ce que tha thte problème?snk.to/f-cdh90xd4

Était-ce utile?

La solution

Vous devez lire la valeur de la sélection d'essayer:

var valgeoisilogi_1= document.getelementByID ('mysect_1'). valeur;

EDIT: Si vous souhaitez utiliser «La couche 'en dehors de votre fonction Init (), il doit être défini comme une variable globale

Exemple:

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

}

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top