我正在使用angular的ng选项来填充html的名称。我希望它预先选择我设置的ng模型(注册人已选择)的值。但由于某种原因,它不会这样做。ng-options将不会预先选择一个选项
我查阅了ng-options的各种不同的文档,看了一堆关于ng-options的其他堆栈溢出帖子,但我似乎无法弄清楚我做错了什么。
的代码可以在this plunker或在下面找到:
的Javascript:
angular.module('app', [])
.controller("MainController", ["$scope", function($scope) {
$scope.paidDuesCompanyPeople = [{
"FirstName": "Person",
"LastName": "One",
"MemberType": {
"IsMember": false,
"Name": "Non-member"
}
}, {
"FirstName": "Second",
"LastName": "Person",
"MemberType": {
"IsMember": true,
"Name": "Member"
}
}, {
"FirstName": "Three",
"LastName": "People",
"MemberType": {
"IsMember": false,
"Name": "Non-member"
}
}];
$scope.registrantSelected = {
"FirstName": "Person",
"LastName": "One",
"MemberType": {
"IsMember": false,
"Name": "Non-member"
}
};
}]);
HTML:
<div ng-app="app" ng-controller="MainController">
<div class="col-xs-12 col-sm-5">
<form class="form-horizontal">
<div class="form-group">
<label class="col-sm-6 control-label">Registration for</label>
<div class="col-sm-6">
<select class="form-control" ng-model="registrantSelected" ng-options="person.FirstName + ' ' + person.LastName for person in paidDuesCompanyPeople">
</select>
</div>
</div>
</form>
</div>
{{registrantSelected}}
</div>
感谢您的帮助,您可以给!
$ scope.registrantSelected是不一样的对象...您需要使用paidDuesCompanyPeople [0]设置,或使用ng-options跟踪来定义要在选择器上进行比较的字段 –