0
Unten ist mein Code. Wenn der Benutzer auf "Alle auswählen" klickt, werden alle Elemente ausgewählt.Angular unselect Element in allen ausgewählten Artikeln
was ich will ist, wenn Benutzer auf eine Option klicken, sollte diese Option deaktiviert werden.
var app = angular.module('sampleApp', []);
app.controller('sampleController', ['$scope',
function($scope) {
$scope.selectAll = false;
}
])
.disabled {
opacity: 0.5
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="sampleApp">
<div ng-controller="sampleController">
<label ng-click="selectAll = !selectAll">Select all</label>
<div ng-class="selectAll ? 'enable' : 'disabled'">Option 1</div>
<div ng-class="selectAll ? 'enable' : 'disabled'">Option 2</div>
<div ng-class="selectAll ? 'enable' : 'disabled'">Option 3</div>
<div ng-class="selectAll ? 'enable' : 'disabled'">Option 4</div>
</div>
</div>
Dank für Sie beantworten . Allerdings habe ich Beispiel mit nur 4 Optionen gegeben. In Wirklichkeit habe ich mehrere Optionen. Gibt es einen anderen Weg als "$ scope.option" hinzuzufügen. Ich habe statischen HTML geschrieben. Für die jede Option in verschiedenen Div. – Tushar
Wenn Sie die ng-Klasse für jede einzelne Option anwenden möchten, müssen Sie die Optionen irgendwie auf den $ scope setzen. Andernfalls kann angular die Bindung nicht anwenden. – fikkatra
in meiner Lösung, jede Option ist ein anderes Div auch, weil ich ng-repeat. Das Gute an der Verwendung von ng-repeat ist, dass Sie so viele Optionen hinzufügen oder entfernen können, wie Sie möchten, und Ihr Code wird weiterhin funktionieren – fikkatra