我在HTML中使用此代码用于RadioButton:
<fieldset>
<div class="someclass">
<span>Tekeningen: </span>
<label for="ValSR2">UIT:</label>
<input dojoType="dijit.form.RadioButton" id="valSR2" name="group3" checked="checked" value="Show" onchange='Tekeningen(this);' value="Show" type="radio" />
<label for="ValSlope2">AAN:</label>
<input dojoType="dijit.form.RadioButton" id="valSlope2" name="group3" value="Hide" onchange='Tekeningen(this);' type="radio"/>
</div>
</fieldset>
这就是功能:
function Tekeningen(evt){
dojo.connect(map, "onLoad", mapLoadHandler);
var tekeningen = new esri.layers.ArcGISDynamicMapServiceLayer("https://gis.strukton.com/ArcGIS/rest/services/Tekeningen_Data/MapServer", { id: "Tekeningen", "visible":true});
if(evt.value === "Hide"){
alert("removelayer");
//var tek = map.getLayer("Tekeningen");
// tek.hide();
map.removeLayer(tekeningen);
}
else if(evt.value === "Show"){
// map.removeLayer(tekeningen);
alert("addlayer");
map.addLayer(tekeningen);
}
}
但是当我打开它时,我得到两个警报,当我关闭它时。 有谁知道我做错了什么?
修改
我正在寻找我在错误的部分 - “隐藏”以及为什么函数无法看到这个价值的错误。“
答案 0 :(得分:0)
我在jsFiddle中尝试过一个简化的函数,它适用于我:
function Tekeningen(evt){
if(evt.value === "Hide"){
alert("removelayer");
}
else if(evt.value === "Show"){
alert("addlayer");
}
}