Обновление выбранных элементов Select2 при изменении угловой модели
Я работаю над проектом по развертыванию программного обеспечения через пользовательский интерфейс AngularJS. В текущем представлении вы должны выбрать среду для развертывания. Возможный список сред хранится в области видимости и является тем, из чего строятся параметры для выбора:
<select ui-select2="{ }" data-placeholder="All Environments" ng-model="transformParams.EnvironmentIds" multiple="multiple" class="input-xxlarge">
<option ng-repeat="environment in environments" value="{{ environment.Id }}">{{ environment.Name }}</option>
</select>
Также на этой странице есть выпадающий список, который изменяет текущий элемент, для которого будет установлена среда. Выбор существующего элемента из выпадающего списка должен занять Environments
свойства из существующего элемента и выберите правильные элементы в моем окне Select2. Это тогда, очевидно, обновит transformParams.EnvironmentIds
модель. Я попытался обновить эту модель, чтобы изменить выбранные среды, но безрезультатно.
Я видел исправление для Angular 1.2, но я застрял на 1.0.7 и не имею возможности обновить Angular на данном этапе.
1 ответ
Я решил проблему с помощью некоторых опций для select2:
<select ui-select2="selectOptions" data-placeholder="All Environments" ng-model="transformParams.EnvironmentIds" multiple="multiple" class="input-xxlarge">
<option ng-repeat="env in environments" value="{{ env.Id }}">{{ env.Name }}</option>
</select>
С опциями, определяемыми в контроллере:
$scope.selectOptions = {
'multiple': true,
'simple_tags': true,
'initSelection': function (element, callback) {
callback($(element).data('$ngModelController').$modelValue);
}
}