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