2013-04-04 5 views
0

Я использую AngularJS для заполнения списка опций выбора.Как выбрать модель AngularJS при первой загрузке?

И я выбираю вариант по умолчанию в зависимости от поля isMandatory. Но проблема в том, что я не могу получить идентификатор выбранного элемента при первой загрузке.

Он работает, когда я меняю этот вариант.

Пожалуйста, проверьте этот plunker код: http://plnkr.co/edit/U2dVeo1vwZZPFKVhPleV?p=preview

ответ

1

Я предлагаю использовать нг-опции:

<select ng-model="selectedItem" ng-options="item.id as item.text for item in list"> 

и функцию, чтобы установить первоначально выбранный элемент:

angular.forEach($scope.list, function(item, key){ 
    if(item.isMandatory) { 
    $scope.selectedItem = item.id; 
    } 
}); 

Plunker

+0

Я использую $ resource для извлечения элемента, возможно, из-за этого элемент управления никогда не выходит внутрь для каждого. Что мне делать? – LittleLebowski

+0

@LittleLebowski, положите forEach внутри функции обратного вызова 'query()'. (Вы можете также '$ смотреть' 'list' для изменения и поместить forEach в обратный вызов часов.) –

+0

Я отмечаю это как правильный ответ, поскольку он работает, но в моем случае я буду использовать AngularUI-Select2 в котором говорится, что директива не работает с ng-опциями и рекомендует использовать ng-repeat. Любое обходное решение этого решения, использующее ng-repeat? – LittleLebowski

Смежные вопросы