문제

나는 내가 무엇을 잘못하고 있는지 이해할 수 없습니까?나는 모든 것을 잘 썼다고 생각한다 :

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

    }
.

문제는 문제를 if 또는 전달하는 것입니다. true를 설정하면== true는 여전히 true를 설정할 수 없습니다. 외부 JS 파일을 확인하고 문제가 무엇인지 알려주십시오.나는 누드로드를 실행하는 init 함수의 모든 레이어를 정의 하시겠습니까 ?? thte thte 문제가 있습니까?snk.to/f-cdh90xd4

도움이 되었습니까?

해결책

선택 시도의 값을 읽어야합니다.

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