Wenn Sie auf die Schaltfläche "gelbe Farbe auswählen" klicken, möchte ich Gelb zur ausgewählten Liste hinzufügen. Gelb wird ausgewählt, aber das Dropdown-Feld zeigt immer noch Gelb an. Auf die gleiche Weise möchte ich die gelbe Markierung beim Klicken auf die Schaltfläche "Gelbe Farbe abwählen" deaktivieren. Ich kann gelb abwählen, aber gelb erscheint nicht im Dropdown-Menü. Bitte helfen Sie mir bei diesem Problem. HTML:Angular ui-select multi select: Das Dropdown-Menü wird bei der Auswahl einiger Elemente vom Controller nicht aktualisiert
<ui-select multiple ng-model="multipleDemo.colors" theme="select2" ng-disabled="disabled" style="width: 300px;">
<ui-select-match placeholder="Select colors...">{{$item}}</ui-select-match>
<ui-select-choices repeat="color in availableColors | filter:$select.search">
{{color}}
</ui-select-choices>
</ui-select>
<p>Selected: {{multipleDemo.colors}}</p>
<input type="button" value="select yellow color" ng-click="selectYellowColor()"/>
<input type="button" value="deselect yellow color" ng-click="deselectYellowColor()"/>
JS:
$scope.availableColors = ['Red','Green','Blue','Yellow','Magenta','Maroon','Umbra','Turquoise'];
$scope.multipleDemo = {};
$scope.multipleDemo.colors = ['Blue','Red'];
$scope.selectYellowColor = function(){
if($scope.multipleDemo.colors.indexOf($scope.availableColors[3]) == -1){
$scope.multipleDemo.colors.push($scope.availableColors[3]);
}
};
$scope.deselectYellowColor = function(){
if($scope.multipleDemo.colors.indexOf($scope.availableColors[3]) != -1){
var index = $scope.multipleDemo.colors.indexOf($scope.availableColors[3]);
$scope.multipleDemo.colors.splice(index, 1);
}
};
Hier ist die Plunker Link http://plnkr.co/edit/AHZj1zAdOXIt6gICBMuN?p=preview
Danke, es mir zu einem gewissen Grad geholfen. Wenn Sie Gelb auswählen, wird das Dropdown-Menü aktualisiert und Gelb wird nicht aufgelistet. Wenn Sie jedoch die gelbe Markierung aufheben, wird sie nicht erneut zum Dropdown-Menü hinzugefügt. Aktualisierter Plucker-Link: http://plnkr.co/edit/zMWzYbOmHzfyfe9tob52?p=preview – SaiGiridhar
Ein Stück Code gefunden, verantwortlich dafür in den ui-select-Quellen. Meine Lösung ist eine Problemumgehung für dieses Problem: https://github.com/angular-ui/ui-select/issues/918. Ich denke, es gibt keine Möglichkeit, es ohne Änderung in der Bibliothek vollständig zu beheben –
Vielen Dank für Ihre Hilfe. Hoffentlich wird dieses Problem früher gelöst. Können Sie irgendwelche anderen Multi-Select-Plugins vorschlagen, die ähnlich aussehen (falls vorhanden)? Ich konnte nichts bekommen. – SaiGiridhar