質問

私は何をしているのか理解できませんか?私は本当にうまくいったすべてを書いたと思います:

HTMLコードは次のようになります。

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

とJavaScriptはこれです:

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

    }
.

私はtrue== trueを設定している場合、その値を渡すと、true.iの可視性が設定されていない場合は、問題があるとは思わない。selectタグで関数をトリガすることに問題があると思います>

外付けJSファイルを確認して、問題は何ですか?私はOnbody Loadを実行するinit関数内のすべてのレイヤーを定義しますか?THTEの問題は?SNK.TO / F-CDH90XD4

役に立ちましたか?

解決

選択した値の値を読む必要があります。

varueepilogi_1= document.getElementByID( 'mySelect_1')。値;

編集: init()関数の外側に 'レイヤー'を使用したい場合は、グローバル変数

として定義する必要があります。

例:

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

}
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top