如果你不使用参考平等ngModel设置的选项,你可以依靠使用track by
表达基于ID平等(ID应该是每个选项是唯一的):
ng-options="x as x.description for x in formData.bloodTypes track by x.id"
然后你的ngModel user.bloodType可以被初始化为一个参考不一定匹配的模型。
例如:
<select ng-model="selectedOption" ng-options="x
as x.description for x in bloodTypes track by x.id>
控制器:
app.controller('ctrl', function($scope) {
$scope.bloodTypes = [
{'id' : 1, 'description' : 'O+'},
{'id' : 2, 'description' : 'A'},
{'id' : 3, 'description' : 'B'},
];
// set initial selected option to blood type B
$scope.selectedOption = {'id' : 3, 'description' : 'B'};
});
或者,如果你想保留参考平等,你不要需要跟踪:
app.controller('ctrl', function($scope) {
$scope.bloodTypes = [
{'id' : 1, 'description' : 'O+'},
{'id' : 2, 'description' : 'A'},
{'id' : 3, 'description' : 'B'},
];
// set initial selected option to blood type B
$scope.selectedOption = $scope.bloodTypes[2];
});
的可能的复制[如何使用angular JS设置下拉列表控件的选定选项(http://stackoverflow.com/questions/17968760/how-to-set-a-selected-选择一个下拉列表控制使用angular-js) – M4N