2014-03-14 3 views
2

Я работаю над проектом по развертыванию программного обеспечения через пользовательский интерфейс AngularJS. В текущем представлении вам нужно выбрать среду, для которой требуется развертывание. Возможный список сред сохраняются в объеме и является то, что варианты для выбора построены из:Обновление Select2 выбранных элементов при изменении угловой модели

<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. Я попробовал обновить эту модель, чтобы изменить, какие среды выбрать, но безрезультатно.

Я видел ошибку to Angular 1.2, но я застрял на 1.0.7 и у меня нет возможности обновить Угловое на этом этапе.

ответ

1

Я решил эту проблему, используя некоторые параметры для выбор2:

<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); 
    } 
}