我一直在使用@Brocco提供的解决方案:Dropdown depends on other dropdown - angularjs
我注意到当你在对象中使用ID / Name组合供Angular使用时,它会自动失败。我已经使用提供的JSFiddle AngularJS版本以及最新的AngularJS版本对此进行了测试,并且在两个实例中都失败了。
的jsfiddle:
http://jsfiddle.net/h8uoy9xr/(更新小提琴链接)
HTML:
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script>
<div ng-app>
<div ng-controller="MyCntrl">
<select ng-model="server" ng-options="server.id as server.name for server in servers"></select>
<!-- server.name for server in servers (This works a treat, but not the other way) -->
<select ng-model="version" ng-options="version.id as version.name for version in server.version"></select>
</div>
</div>
JS:
function MyCntrl($scope) {
$scope.servers =
[
{
"id": 1,
"name": "server1",
"version":
[
{id:1,name: "10.x"}
]
},
{
"id": 2,
"name": "server2",
"version":
[
{id:2,name:"1"}, {id:3,name:"2"}
]
}
];
}
答案 0 :(得分:1)
如果你display the value of the server
,你会发现它只获得了id,而不是指定的整个对象。
更改
ng-options="server.id as server.name for server in servers"
到
ng-options="server as server.name for server in servers"
as
关键字之前的值保存到模型中。 after后面的值用作下拉列表中的标签。