gpt4 book ai didi

javascript - AngularJS - 依赖下拉列表 : storing one value in model, 使用其他作为下一个下拉列表的来源

转载 作者:搜寻专家 更新时间:2023-11-01 04:54:33 25 4
gpt4 key购买 nike

我有两个相关的下拉菜单。一个显示国家另一个国家。我希望第一个只保存国家 ID 但使用整个对象作为源对于第二个下拉菜单。这是我到目前为止所拥有的。同一屏幕中可能有许多这样的下拉菜单,这样会使事情复杂化,因为我需要复制临时变量(国家/地区来源)。有什么建议吗?

<select name="country" ng-model="countrySource" ng-options="cntr as cntr.label for cntr in countries" ng-change="country=countrySource.id">
</select>

<select name="state" ng-model="state" ng-options="st.id as st.label for st in countrySource.states">
</select>

最佳答案

为了简单起见,您可以按以下方式重构您的模型,其中键充当 id:

$scope.countries = {
"c1" : {
label : "Country 1",
states:{
"s1":{
label:"State 1"
},
"s2" : {
label:"State 2"
}
}
},
"c2" : {
label:"Country 2",
states:{
"s3":{
label:"State 3"
},
"s4" : {
label:"State 4"
}
}
}
};

HTML

<select ng-model="country" ng-options="countryId as countryDetails.label 
for (countryId, countryDetails) in countries">
</select>

<select name="state" ng-model="state" ng-options="stateId as stateDetails.label
for (stateId, stateDetails) in countries[country]['states']">
</select>

如果通过重复临时变量(countrySource),您的意思是对其他下拉列表使用相同的模型,选择一个国家将更改所有国家/地区state 页面上的下拉菜单。

关于javascript - AngularJS - 依赖下拉列表 : storing one value in model, 使用其他作为下一个下拉列表的来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18651943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com