0

我在 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);



          }
      }

但是当我打开它时,我会收到两个警报,当我关闭它时也会收到警报。有谁知道我做错了什么?

编辑

我正在搜索我在 value="hide" 部分做错了什么以及为什么函数看不到该值.."

4

1 回答 1

0

我在 jsFiddle 中尝试了一个简化的函数,它适合我:

http://jsfiddle.net/UFDDR/

function Tekeningen(evt){
    if(evt.value === "Hide"){
        alert("removelayer");
    }
    else if(evt.value === "Show"){        
        alert("addlayer");
    }
}
于 2012-11-28T08:13:46.043 回答