У меня есть много ящиков для выбора в моем приложении, которые генерируются списками данных и назначаются различным 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'},
];
Вместо использования элементов опций 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.
Надеюсь, что это разрешит ваш запрос