2016-01-07 3 views
2

У меня есть список выбора, который который генерируется с помощью фильтра:Установите параметр по умолчанию от углового фильтра

<select ng-model="item.SAC"> 
    <option ng-repeat="code in SACCodes | filter:{group: item.SACGroup}" value="{{code.code}}">{{code.code}} - {{code.description}} - {{code.group}}</option> 
</select> 

Когда item.SACGroup изменения, которые я хочу, чтобы автоматически выбрать первый правильный вариант (чтобы выбрать окно никогда не погаснет).

$scope.SACCodes = [ 
{'code':'034', 'description':'FTG Support Steel', 'group':'footings'}, 
{'code':'037', 'description':'Masonry Wall FTGs', 'group':'footings'}, 
{'code':'032', 'description':'S.O.G. Rebar', 'group':'slabs'}, 
{'code':'033', 'description':'S.O.G. (DBL.Mat)', 'group':'slabs'} 
]; 
+0

использование [** 'ngOptions' **] (https://docs.angularjs.org/api/ng/directive/ngOptions) –

+0

@Jordash Любые обновления? Вы решили проблему? –

ответ

0

Вот WORKING JSBIN пример для того же:

Объяснение:

Как отмечалось в комментариях по @AnikIslamAbhi, вы должны использовать ng-options здесь:

<select ng-model="item.SAC" ng-options="code.code as codeLabel(code.code, code.description, code.group) for code in SACCodes | filter:{group: item.SACGroup}"> 
</select> 

Определите метод codeLabel в вашей области:

$scope.codeLabel = function(code, description, group) { 
    return code + " - " + description + " - " + group; 
}; 

Для исходной задачи установки значения опции в по умолчанию, добавьте ng-init к вашему <select> элементу:

<select ng-model="item.SAC" ng-options="code.code as codeLabel(code.code, code.description, code.group) for code in SACCodes | filter:{group: item.SACGroup}" ng-init="item.SAC = SACCodes[0].code"> 
</select> 

Надеется, что это помогает.