Глобально установить для всех полей выбора первый доступный параметр в AngularJS

0

У меня есть много ящиков для выбора в моем приложении, которые генерируются списками данных и назначаются различным ng-моделям.

Я хочу установить значение ng-model для первой доступной опции (с учетом фильтров) всех выбранных входов в глобальном масштабе в приложении.

Итак, например, выберите ввод следующим образом:

<select ng-model="entry.employee">
  <option ng-value="employee.name" ng-repeat="employee in employees | filter:active">{{employee.name}}</option>
</select>

У entry.employee ng по умолчанию значение null, мне нужно, чтобы в каждом окне выбора никогда не было значения null, но всегда выбирайте первый допустимый вариант ввода ввода по умолчанию.

Он также должен быть глобальным и быть достаточно общим для работы с любым типом ввода.

Вот данные:

$scope.employees= [
        {'name':'Bill'},
        {'name':'Frank'},
        {'name':'Ted'},
    ];
  • 0
    Можете ли вы установить entry.employee для сотрудников [0] в контроллере?
  • 0
    Да, но это не достаточно общий
Показать ещё 2 комментария
Теги:

1 ответ

0

Вместо использования элементов опций ng-repeat на элементе select непосредственно используется ng-option.

например

<select class="form-control" ng-options="item.name for item in employees track by item.id" ng-model="selectedItem"></select>

в вас использование контроллера:

$scope.selectedItem=$scope.employees[0];

ваш объект будет выглядеть так:

$scope.employees= [
    {id:'1','name':'Bill'},
    {id:'2','name':'Frank'},
    {id:'3','name':'Ted'},
];

В этом случае вы можете выбирать теги "n", но всякий раз, когда вы хотите, чтобы ng-model была первой, просто инициализируйте ее первым элементом в вашем объекте. Также полезно использовать ng-option, когда вы хотите изменить значение элемента select во время выполнения, вам просто нужно обновить элемент selectedItem.

Надеюсь, что это разрешит ваш запрос

  • 0
    Где вы положили $ scope.selectedItem = $ scope.employees [0], как я могу сделать это для каждой опции выбора глобально
  • 0
    Это также должно произойти, если фильтр меняется

Ещё вопросы

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