如何在 AngularJS 的级联选择中获取值?

How to get a value in cascade selects with AngularJS?

我列出了城市,如下所示:

var complejos = {
    'Buenos Aires': {
         '25 de Mayo': [],
         '3 de febrero': [],
         'A. Alsina': [],
         'A. Gonzáles Cháves': [],
         'Aguas Verdes': [],
         'Alberti': [],
         'Arrecifes': [],
         'Ayacucho': [],
         'Azul': [],
         'Bahía Blanca': []},
    'Capital Federal': {
         'Agronomía': [],
         'Almagro': [],
         'Balvanera': [],
         'Barracas': [],
         'Belgrano': [],
         'Boca': [],
         'Boedo': [],
         'Caballito': []}
}

在我的代码中,我有两个 md-select,一个让用户能够 select 他们的州,然后是他们的城市。示例:布宜诺斯艾利斯 -> 3 de febrero。

我有以下代码:

<select id="state" ng-model="cities" ng-options="state for (state, cities) in complejos">
    <option value=''>Choose a state</option>
</select>

<select id="city" ng-disabled="!cities" ng-model="field" ng-options="city for (city, fields) in cities">
    <option value=''>Pick a city</option>
</select>

工作正常,唯一的问题是我无法获得 selected 值。相反,我用 "hashkey value" ($$hashkey: object:116).

得到了整个对象

如何使用该散列键来搜索我的结果?

在你的第二个 <select> 中,只需更改

ng-options="city for (city, fields) in cities">

ng-options="city as city for (city, fields) in cities">

Working JSFiddle