以下是一个例子:
我想设置我的JSON,以便它可以有一个国家列表对应一个状态列表 (1)首先我正在设置storeData。这是我遇到麻烦的地方。如何进行设置,以便我可以拥有一个国家组合框,如下面的示例和另一个组合框,它将根据国家/地区的选择预先设定值:例如:如果用户从中选择“美国”组合框,第二个组合框应该有一个'德克萨斯'和'加利福尼亚'的列表
<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 :(得分:0)
寻找相关的州/城市示例。
您的日期需要重新调整为上面链接中示例中的格式