Задать вопрос
@kirill-93

Angular ng-options как установить selected?

Подскажите пожалуйста, есть массив аккаунтов, вывожу их вот так:
<select class="js-example-basic-multiple" 
                                ng-model="new_user_accounts" 
                                ng-options="account.title for account in accounts track by account.id"
                                multiple="multiple">
                        </select>

И есть массив выбранных аккаунтов (id'шники). Как мне изменить ng-options, чтобы добавить проверку на наличие account.id в выбранных аккаунтах, и добавить selected?

Без использование ng-options делал так:
<option ng-repeat="account in accounts" 
                            ng-selected="user_accounts.indexOf(account.id) > -1"
                            value="{{account.id}}">{{account.title}}</option>
  • Вопрос задан
  • 5339 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
kompi
@kompi
nullstack devoops
Если я правильно понял, то это нужно для первоначальной установки значений для select по определённому условию.
Если это так, то это можно сделать в контроллере/директиве.
Пример.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mr_T
@mr_T
Web-разработчик
Не знаю, сработает ли это для множественного значения, но тут точно есть проблема в том, что неправильно составлено значение атрибута ng-options, так как фактическим значением, передаваемым (и читаемым из) ng-model будет полный объект account, а не account.id. Нужно использовать select as label for value in array, где select => account.id, label => account.title, value => account. А вообще вопрос бы отпал сам по себе, если бы ты поглядел сюда. Там как раз есть в таблице ровно то, что я написал.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы