2016-05-03 11 views
0

私はDojoの初心者です。ここに私が持っていた問題があります。喜んで助けてください。Dojoは、プログラムで生成されたコンボボックスを含むDIVを表示/非表示にします。

[状態を選択]ラジオボタンをクリックすると、[状態]コンボボックスが表示されます。 [Region]ラジオボタンを選択すると、[Region]コンボボックスが表示されます。しかし、私のコードは動作していないようです。

フィドルプロジェクトがhere

require([ 
 
    'dojo/dom', 
 
    'dojo/dom-construct', 
 
    'dojo/dom-style', 
 
    'dojo/query', 
 
    'dojo/on', 
 
    'dojo/store/Memory', 
 
    'dijit/form/ComboBox', 
 
    'dojo/domReady!' 
 
], function (dom, domConstruct,domStyle,query,on, Memory, ComboBox) { 
 
var stateStore = new Memory({ 
 
     data: [ 
 
      {name:"Alabama", id:"AL"}, 
 
      {name:"Alaska", id:"AK"}, 
 
      {name:"American Samoa", id:"AS"}, 
 
      {name:"Arizona", id:"AZ"}, 
 
      {name:"Arkansas", id:"AR"}, 
 
      {name:"Armed Forces Europe", id:"AE"} 
 
     ] 
 
    }); 
 

 
    var regionStore = new Memory({ 
 
     data: [ 
 
      {name:"North Central", id:"NC"}, 
 
      {name:"South West", id:"SW"} 
 
     ] 
 
    }); 
 
    
 
    var comboState = new ComboBox({ 
 
     id: "stateSelect", 
 
     name: "state", 
 
     store: stateStore, 
 
     searchAttr: "name" 
 
    }, "state").startup(); 
 
    
 
    var comboRegion = new ComboBox({ 
 
     id: "regionSelect", 
 
     name: "region", 
 
     store: regionStore, 
 
     searchAttr: "name" 
 
    }, "region").startup(); 
 
    
 
    domStyle.set(dom.byId('state'), "display", "block"); 
 
    domStyle.set(dom.byId('region'), "display", "none"); 
 

 
    on(query('.radio'),'change',function(){ 
 
    query('.query').forEach(function(divElement){ 
 
     domStyle.set(divElement, "display", "none"); 
 
    }); 
 
    domStyle.set(dom.byId(this.dataset.target), "display", "block"); 
 
    }); 
 
});
.hidden { 
 
    display: none; 
 
}
<input class="radio" data-target="state" type="radio" name="selection" value="state">State 
 
<input class="radio" data-target="region" type="radio" name="selection" value="region">Region 
 

 
<div id="state" class="query hidden"></div> 
 
<div id="region" class="query hidden"></div>

+0

/非表示を表示するために道場を使用する[方法の可能性の重複プログラマチックなコンボボックスはラジオボタンをクリックして生成されますか?](http://stackoverflow.com/questions/36991897/how-to-use-dojo-to-show-hide-p rogrammaticaly-generated-combo-boxes-by-r) – ben

+0

あなた自身の質問を複製していますか? – ben

答えて

0

であることを照会して、LKE接続することがより簡単です。

query('.radio').on('change', function(){ 
alert("bing") 
}) 
関連する問題