Обновление выбранных элементов 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);
    }
}
Другие вопросы по тегам