0

RadioButton の HTML で次のコードを使用します。

<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 に答える