Динамическое создание нескольких выпадающих и автоматическая настройка каждого выпадающего в angularjs

0

Я смог динамически создавать несколько выпадающих списков на одном наборе данных в angularJS. Тем не менее, у меня возникает проблема, которая пытается динамически установить значение по умолчанию для каждого из раскрывающихся списков. Например, в моем первом раскрывающемся списке я хотел бы, чтобы первый объект ("Написание") был выбран по умолчанию. Затем я хотел бы, чтобы во втором раскрывающемся списке был выбран второй объект ("Чтение"), а третий раскрывающийся список должен был выбрать третий объект ("Math") и т.д. Чтобы воспроизвести, каждый из раскрывающихся списков имеет одинаковые параметры, но он должен быть присвоен динамической динамике. Не могли бы вы рассказать мне, как я могу динамически установить значение по умолчанию для каждого из динамически генерируемых выпадающих списков с одинаковыми параметрами?

См. Код в http://plnkr.co/edit/dmQFLP?p=preview.

Заранее спасибо за вашу помощь!

Вот мой код контроллера: var module = angular.module("myapp", []);

module.controller('myCtrl',['$scope','myService', function ($scope,myService) {

$scope.subjects = myService.getSubjects();    
$scope.subjectSelected=[]
}])

module.factory('myService', [function () {
  return {
    getSubjects: function() {      
          return [ 
              { name: 'Writing', value: 'Writing'}, 
              { name: 'Reading', value: 'Reading'}, 
              { name: 'Math', value: 'Math'},
              { name: 'Art', value: 'Art'},
              { name: 'Social Studies', value: 'SocialStudies'},];
    }
  }
}]);
Теги:
angularjs-ng-model
angularjs-ng-options

1 ответ

2

Попробуйте добавить ng-init="subjectSelected[$index] = subjects[$index].value" в тег select чтобы инициализировать значение.

Например

<div ng-repeat ="subject in subjects">
    <select class="form-control input-lg" 
            ng-init="subjectSelected[$index] = subjects[$index].value" 
            ng-model="subjectSelected[$index]"
            required="required" 
            ng-options="subject.value as subject.name for subject in subjects">
    </select> 
</div>

Надеюсь, поможет.

Ещё вопросы

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