0

Я использую Angular-Select2, и мне нужно, чтобы на самом деле на изменение собирались некоторые значения, а не только то, что в настоящее время выбрали параметры, как их имена. Например, если выбраны опции Red, Blue, Yellow, текущее значение представляет собой массив этих значений. Я хочу сделать, чтобы отобразить под полем выбора все те (в этом примере) цвета, которые выбраны. Он работает до сих пор - отображаются «цвета», и когда я удаляю его из окна выбора (как теги, щелкнув знак «X»), нижние обновления соответственно.Выпадающее окно My Angular Select2 должно передавать больше значений, чем просто имена опций в событии изменения

Что мне нужно для дальнейшего выполнения - это отправить другие значения или хотя бы один (id), чтобы я мог запросить мою базу данных. Я знаю, я мог бы включить его перед фактическим именем, а затем удалить в своем списке, чтобы иметь возможность манипулировать им по отдельности, но затем идентификатор также отображается в раскрывающемся списке и в выбранных параметрах.

Как действовать? Есть ли что-нибудь, что может быть прикреплено к параметрам и отправлено и доступно для чтения в нижележащей области, в которой отображается текст текстовых выбранных опций.

Я wathching изменения, как это:

$scope.$watch('selectDiseaseState', function(newVal){ 
    $scope.listDiagnosis = newVal; 
}); 

EDIT: Если спутать - это множественный выпадающий. EDIT:

Выбор2 разметки:

<select id="mySel2" ng-model="selectDiseaseState" class="form-control" multiple="multiple" placeholder="Start typing a name of disease state..."> 
    <optgroup ng-repeat="item in select" label="{{item.label}}"> 
     <option ng-repeat="option in item.options">{{option.value}}</option> 
    </optgroup> 
</select> 

ответ

0

Вы должны связать ваш ng-model в ng-options связывания с использованием массива объектов вместо простого массива. Затем вы можете следить за изменениями в раскрывающемся списке, а newvalue будет объектом, содержащим все свойства. HTML

<div ng-app='app' ng-controller='controller'> 
    <select ng-model='selectDiseaseState' ng-options='item as item.Color for item in selectOptions'> 
    </select> 
</div> 

Угловое код: вар приложение = angular.module ('приложение', []) .controller ('контроллер', функция ($ масштаб) {

$scope.selectOptions = [ 
    {Id: 1, Color: 'Red'}, 
    {Id: 2, Color: 'Blue'}, 
    {Id: 3, Color: 'Green'}, 
    {Id: 4, Color: 'Yellow'} 
]; 
$scope.selectDiseaseState = {}; 

$scope.$watch('selectDiseaseState', function(newVal){ 
    $scope.listDiagnosis = newVal; 
    alert('Id: '+ $scope.listDiagnosis.Id + ' and Color: '+ $scope.listDiagnosis.Color); 
}); 

});

DEMO

+0

На самом деле я не упоминал, что использовал optgroups (для категорий, которые в свою очередь используют отдельный нг повтора петли), в котором то есть вложенная петля для вариантов Другая вещь, люди говорят, что нг -options отлично не работает с Select2 + Angular, поэтому я использую эти вложенные петли ng-repeat для создания моих групп optgroups с соответствующими параметрами. – developer10

 Смежные вопросы

  • Нет связанных вопросов^_^