Angularjs使用ng选项进行选择

Angularjs select using ng-options

本文关键字:行选 选择 选项 使用 ng Angularjs      更新时间:2023-09-26

我想使用带有2个选择输入的州来过滤城市当第一个选择改变it值时,第二个应该根据第一个选择而改变。

我有一系列商品:

$scope.items = [
     {
         name:'state1',
         cities : [
              {id:1,name:'city1'},
              {id:2,name:'city2'},
         ]
     },
     {
         name:'state2',
         cities : [
              {id:1,name:'city1'},
              {id:2,name:'city2'},
         ]
     },
];

我试过了,但不起作用:各州优先:

<select ng-model="state" ng-options="s.id as s.name in states"  ></select>

第二个城市:

<select ng-model="city" ng-options="s.cities.id as s.cities.name for s in items | filter:{s.name:state}" ></select>

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

<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>

Fiddle