这是我的选择:
<select class="form-control" ng-options="assistanceType as assistanceType.name for assistanceType in assistanceTypes" ng-model="selectedRecord.assistanceType"></select>
以下是我用来加载援助类型的内容:
$scope.getAssistanceTypes = function () {
$http.get('/api/assistanceType/getAll').
success(function (data, status, headers, config) {
$scope.assistanceTypes = data;
}).
error(function (data, status, headers, config) {
alert(data.ExceptionMessage);
});
}
结果如下:
[
{
"assistanceTypeId": 1,
"name": "Essay"
},
{
"assistanceTypeId": 2,
"name": "Resume"
},
{
"assistanceTypeId": 3,
"name": "Test"
}
]
一切正常,我可以在更改选项时看到模型正在更新。
但是当我加载记录($ scope.selectedRecord)时,所选选项不会反映aidType对象!
这是“selectedRecord”:
{
"recordId": 1,
"student": {
"id": "xxx",
"firstName": "xxx",
"lastName": "xxx"
},
"createDate": "2015-03-04T15:35:40",
"closeDate": "2015-03-04T15:35:40",
"checkInDate": "2015-03-04T15:35:40",
"checkOutDate": "2015-03-04T15:35:40",
"consultant": {
"id": "xxx",
"firstName": "xxx",
"lastName": "xxx"
},
"assistanceType": {
"assistanceTypeId": 1,
"name": "Essay"
},
"course": {
"course": "xxx",
"name": "xxx",
"teacher": {
"id": "xxx",
"firstName": "xxx",
"lastName": "xxx"
}
},
"format": null,
"classStanding": null,
"comment": "Nothing here!"
}
我是AngularJS的新手,我很可能会在这里遗漏一些东西。但是在我看来,在我加载主记录时,select应该填充selectedRecord.assistanceType中的对象。
有什么建议吗?
谢谢!
答案 0 :(得分:15)
问题是selectedRecord中的“aidType”对象与aidTypes数组中的等效实例不完全相同。 试试这个:
<select class="form-control" ng-options="assistanceType as assistanceType.name for assistanceType in assistanceTypes track by assistanceType.name" ng-model="selectedRecord.assistanceType"></select>
请注意,我添加了“track by aidType.name”,以便按名称而不是对象的$$ hashkey进行比较。
答案 1 :(得分:0)
选择元素需要名称属性以获取模型元素选择,在您的情况下,只需添加添加名称属性即可。例如name =“ assistanceType”。直到需要时才需要添加曲目。