Я использовал решение, предоставленное @Brocco здесь: Раскрывающийся список зависит от другого раскрывающегося списка - angularjs
Я заметил, что когда вы используете комбинацию идентификатора/имени в объекте для использования 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"}
]
}
];
}