http://plnkr.co/edit/fwwAd4bn6z2vxVN2FUL7?p=preview
в плункере вы можете видеть, что я хочу, я хочу, чтобы в 3 раскрывающихся списках были значения A, B, C, и если я добавлю четвертый, он должен иметь A, B, C, D, и когда вы откроете раскрывающийся список, вы можете выберите все добавленные буквы.
<option ng-repeat="n in characters" ng-selected="$index == $parent.$index">{{n}}</option>
Таким образом, вы должны выбрать ABC, когда вы нажимаете ADD.. и он должен быть выбран STAY.. но это не так, как сделать его выбранным?
Вы должны использовать директиву ng-options для своего выбора.
HTML:
<div ng-app="app">
<div ng-controller="mainController">
<div ng-repeat="selected in selecteds track by $index">
<select ng-model="selecteds[$index]" ng-options="character for character in characters">
</select>
</div>
<button ng-click="addValue()">Add</button>
<pre ng-bind="characters | json"></pre>
<pre ng-bind="selecteds | json"></pre>
</div>
</div>
JS:
angular.module('app', [])
.controller('mainController', function($scope) {
$scope.characters = ["A", "B", "C"];
$scope.selecteds = ["A", "B", "C"];
$scope.addValue = function() {
var currGroup = String.fromCharCode(65 + $scope.characters.length);
$scope.characters.push(currGroup);
}
});
Рабочая скрипка здесь: http://jsfiddle.net/ben1729/djy5ooed/
Я изменил вашу настройку, чтобы динамически создавать существующие параметры в вашей коллекции символов, а затем динамически добавлять выпадающие списки:
Это делается через:
$scope.characters = [];
$scope.something = [{Name:"Obj1",Selected:"A"}, {Name:"Obj2",Selected:"B"},{Name:"Obj3",Selected:"C"}];
angular.forEach($scope.something, function(obj, index) {
$scope.characters.push(obj.Selected);
});
$scope.Add = function() {
var sNewOption = String.fromCharCode(65 + $scope.characters.length);
$scope.something.push({Name: "obj" + (parseInt($scope.characters.length) + 1), Selected: sNewOption});
$scope.characters.push(sNewOption);
}
Вам нужно добавить значение к параметрам. Попробуйте этот путь
<option ng-repeat="n in characters" value="{{n}}" ng-selected="$index == $parent.$index">{{n}}</option>