ビューで私が持っている
...
<select ng-model="customer" ng-options="c.name for c in customers">
<option value="">-- chose customer --</option>
</select>
....
私が持っているコントローラーで
$scope.customers = [
{"id":4,"name":"aaaa","isActive":1,"isDeleted":0},
{"id":5,"name":"testxyz","isActive":0,"isDeleted":0},
{"id":9,"name":"bbb","isActive":1,"isDeleted":0},
{"id":10,"name":"asdfa","isActive":0,"isDeleted":0},
{"id":11,"name":"asdfa","isActive":0,"isDeleted":0}
];
if ($scope.$id != null)
{
Message.query({id: $scope.$id}, function(data) {
if (data[0].id) {
$scope.name = data[0].name;
$scope.fromName = data[0].fromName;
$scope.subject = data[0].subject;
// this line does not work because data[0].custID is database
// customer ID Foreign Key linked with this record
// {"id":4,"name":"aaaa","isActive":1,"isDeleted":0}
$scope.customer = data[0].custID;
// this works as it is based on index
//$scope.customer = $scope.customers[3];
} else {
alert('Request Failed: ' + data.msg);
}
});
}
ここで、レコードを編集して、データベースから事前に入力されたフィールドを使用して編集モードでビューを開こうとすると、配列インデックス ベースで正常に動作する SELECT ボックスに対してデフォルトの選択を行う必要がありますが、外部キー ベースで選択を行う必要があります。
インデックスではなく、外部キーに基づいて選択ボックスをデフォルトで選択するにはどうすればよいですか?