首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angularjs使用ng-options选择

Angularjs使用ng-options选择
EN

Stack Overflow用户
提问于 2015-03-19 18:15:48
回答 1查看 535关注 0票数 0

我想用两个选择输入的州来过滤城市,当第一个选择改变它的值时,第二个应该根据第一个选择改变。

我有一个项目数组:

代码语言:javascript
复制
$scope.items = [
     {
         name:'state1',
         cities : [
              {id:1,name:'city1'},
              {id:2,name:'city2'},
         ]
     },
     {
         name:'state2',
         cities : [
              {id:1,name:'city1'},
              {id:2,name:'city2'},
         ]
     },
];

我试过了,但它不起作用:首先,对于州:

代码语言:javascript
复制
<select ng-model="state" ng-options="s.id as s.name in states"  ></select>

其次是城市:

代码语言:javascript
复制
<select ng-model="city" ng-options="s.cities.id as s.cities.name for s in items | filter:{s.name:state}" ></select>
EN

回答 1

Stack Overflow用户

发布于 2015-03-19 18:42:43

第一个下拉菜单选择整个国家/地区对象。第二个下拉列表的选项是所选国家/地区的城市:

代码语言:javascript
复制
<select class="country" ng-model="selectedCountry" ng-options="country.name for country in items">
    <option value="">Choose country</option> 
</select>

<select ng-if="selectedCountry" class="city" ng-model="selectedCity" ng-options="city.name for city in selectedCountry.cities">
    <option value="">Choose city</option> 
</select>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29141855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档