установить выбранное значение в ng-option на основе ng-repeat

0
<li class="list-group-item" ng-repeat="entity in displayedProjectRoles">
    <div>
        <strong>Role: </strong> 
        <select
            ng-model="project.role" 
            ng-options="option as option.name for option in project_role"
            ng-required="true"
            id="project_role"
            class="form-control">
        </select>
    </div>
</li>

Как установить значение модели project.role на основе значения для entity.role в ng-repeat? Я попытался ng-selected или даже использовать entity.role в ng-model но он не работает должным образом.

это данные в отображаемых ролях проекта

[
  {
    "empid": 2,
    "role": "employee"
  },
  {
    "empid": 1,
    "role": "pm"
  }
]

и в project_role

[
  {
    "id": 1,
    "name": "employee"
  },
  {
    "id": 2,
    "name": "pm"
  }
]

Таким образом, значение роли в отображаемыхProjectRoles совпадает с именем в project_role

  • 0
    учитывая массив входов
  • 0
    Попробуйте установить project.role = {"id": 1, "name": "employee"} в качестве теста и посмотрите, связывается ли он
Показать ещё 1 комментарий
Теги:
angularjs-ng-repeat
ng-options

1 ответ

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

Это хороший пример углового выбора.

По существу, ng-model для выбора должна соответствовать значению ng-option для привязки. В вашем примере project.role должен быть точно равен option из ваших ng-options. Обратите внимание, что это тип,

option.id as option.name for option in project_role

и option.id == 1 тогда project.role == '1' не будет связывать

Ещё вопросы

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