2012-03-09 1 views
0
여기

미리 설정된 사랑의 또 다른 dijit.form.ComboBox를 채울 수를 설정하는 방법은 예입니다 상태 (1) 먼저 storeData를 설정하고 있습니다. 이것이 내가 문제를 일으키는 곳입니다. 아래 예와 같은 국가의 콤보 상자와 국가 선택에 따라 사전 설정된 값을 가진 다른 콤보 상자를 가질 수 있도록 설정하려면 어떻게해야합니까? 예 : 사용자가 '미국'을 의존해 국가/도시 예를 들어 http://livedocs.dojotoolkit.org/dijit/form/FilteringSelect#codependent-filteringselect-combobox-widgets은 도장 내 JSON 값

보기 : 콤보 상자, 2 콤보는 '텍사스'와 '캘리포니아'

<script type="text/javascript> 
dojo.require("dojo.data.ItemFileReadStore"); 
dojo.require("dijit.form.ComboBox"); 

var storeData = { identifier: 'name', 
items: [ 
{ name: 'United States', state: ['Texas', 'California'] }, 
{ name: 'Canada', state: ['Alberta', 'Quebec'] } 
]}; 

// 
function init(){ 
// Function to perform a lookup on the datastore on each change event of the combo 
    function getItemFromStore(){ 
    function lookUpState(item, request){ 
     var lNode = dijit.byId("country"); 

     if(!item){ 
      lNode.setDisplayedValue(""); 

     }else{ 
      //set up the pre-select list of states 
      //logic goes here 

     } 
    } 
//invoke the lookup 
    country.fetchItemByIdentity({identity: combo.getValue(), onItem: lookUpState}); 
    } 
// Link any change events in the combo to driving the fetchItemByIdentity lookup. 
    dojo.connect(combo, "onChange", getItemFromStore); 
    } 
// Set the init function to run when dojo loading and page parsing has completed. 
dojo.ready(init); 
</script> 

//HTML 
<div data-dojo-type="dojo.data.ItemFileReadStore" 
data-dojo- props="data:storeData"  data-dojo-id="country"></div> 
<div data-dojo-type="dijit.form.ComboBox" data-dojo-props= 
"store:country, searchAttr:'name'" data-dojo-id="combo"></div> 

<div class="formRow"> 
<label for="TestBox">State</label> 
<input dojoType="dijit.form.ComboBox" name="state" id="state" /> 
</div> 

답변

0

페이지의 목록이 있어야합니다.

위 링크의 예에서 날짜를 재구성해야합니다.