модель не заселена выберите

0

Это моя цель,

$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.

https://plnkr.co/edit/BtxMDP0mtJx4m7PTLD6B?p=preview

  • 0
    Удалите «отключен выбранный» и попробуйте
  • 0
    Я думаю, что значение вашей модели должно быть экземпляром объекта опций (адресов) или массива.
Теги:
drop-down-menu

2 ответа

0
Лучший ответ

Удалить 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"

3

Он терпит неудачу, потому что вы создаете еще один экземпляр с этим кодом:

        mode.addressChoice = {
            "addressLine1": "154 Address",
            "addressLine2": "LONDON",
            "addressLine3": "",
            "addressLine4": "EC00 00X"
        }

и массив "адресов", который установлен в атрибуте ng-options, не содержит этот элемент. Вы должны использовать только ссылки на объекты из коллекции "адреса".

  • 0
    @ Ответственно - вы должны пометить это как правильный ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню