Это моя цель,
$scope.addresses = [
{
"addressLine1": "150 Address",
"addressLine2": "LONDON",
"addressLine3": "",
"addressLine4": "EC00 00X"
},
{
"addressLine1": "152 Address",
"addressLine2": "LONDON",
"addressLine3": "",
"addressLine4": "EC00 00X"
},
{
"addressLine1": "154 Address",
"addressLine2": "LONDON",
"addressLine3": "",
"addressLine4": "EC00 00X"
}
];
Это мой выбор HTML
<select ng-model="model.addressChoice" ng-options="(a.addressLine1+ ', '+ a.addressLine2+ ', '+ a.addressLine3+ ', '+ a.addressLine4) for a in addresses">
<option value="" disabled selected>{{select.length}} Address Found</option>
</select>
Я обнаружил, что при использовании model.addressChoice = addresses[2]
он заполняет поле выбора, хотя я должен использовать
mode.addressChoice = {
"addressLine1": "154 Address",
"addressLine2": "LONDON",
"addressLine3": "",
"addressLine4": "EC00 00X"
}
Это не так, почему? В качестве примера я также создал plunkr.
Удалить disabled selected
внутри тега option
<select
ng-model="model.addressChoice"
ng-options="(a.addressLine1+ ', '+ a.addressLine2+ ', '+ a.addressLine3+ ', '+ a.addressLine4) for a in addresses">
<option value="">{{select.length}} Address Found</option>
</select>
При загрузке выбранного "3 Address Found"
Он терпит неудачу, потому что вы создаете еще один экземпляр с этим кодом:
mode.addressChoice = {
"addressLine1": "154 Address",
"addressLine2": "LONDON",
"addressLine3": "",
"addressLine4": "EC00 00X"
}
и массив "адресов", который установлен в атрибуте ng-options, не содержит этот элемент. Вы должны использовать только ссылки на объекты из коллекции "адреса".