Hier ist die Plunker Vorschau auf das Problem.Angularjs Bereichsvariable wird nicht wie erwartet aktualisiert
Index.HTML
<body ng-controller="MainCtrl">
Master Checkbox : <input type="checkbox" id="allSelected" ng-click="checkAll('allSelected')" ng-checked="allChecked"> <br> <br>
Slave1 : <input type="checkbox" id="slave1" ng-click="checkAll('slave1')" ng-checked="selectedAll" > <br>
Slave2 : <input type="checkbox" id="slave2" ng-click="checkAll('slave2')" ng-checked="selectedAll" > <br>
Slave3 : <input type="checkbox" id="slave3" ng-click="checkAll('slave3')" ng-checked="selectedAll" > <br>
Slave4 : <input type="checkbox" id="slave4" ng-click="checkAll('slave4')" ng-checked="selectedAll" > <br>
Slave5 : <input type="checkbox" id="slave5" ng-click="checkAll('slave5')" ng-checked="selectedAll" > <br>
app.js
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.checkAll = function(id) {
// First Condition
if (id === "allSelected" && document.getElementById(id).checked) {
// $scope.selectedAll = false;
$scope.allChecked = true;
$scope.selectedAll = true;
}
// Second Condition
if (id === "allSelected" && !document.getElementById(id).checked) {
$scope.allChecked = false;
$scope.selectedAll = false;
}
// Third Condition
if (id !== "allSelected" && !document.getElementById(id).checked) {
$scope.allChecked = false;
}
};
});
Siehe zuerst Zustand. Es funktioniert nicht wie erwartet.
Ich lade hier Bilder hoch, um das Problem besser zu verstehen.
Kasse die Differenz zwischen dem ersten Bild und dem zweiten Bild. Nach dem Deaktivieren des Kontrollkästchens "Slave" wird das Kontrollkästchen "Master" deaktiviert, aber direkt danach, wenn Sie erneut auf das Kontrollkästchen "Master" klicken (siehe das zweite Bild), ist das Kontrollkästchen "Salve" noch nicht markiert. Warum?
Was ich hier mache, ist falsch? Wie funktioniert dieser Code wie erwartet?
Sie Verwenden Sie angularjs, warum überprüfen Sie es mit Element-ID, ist geprüft oder nicht. Sie können es mit $ SCOPE-Variablen tun, und 2-Wege-Bindung löst Ihre Probleme –
@ngDeveloper Ich habe es aber können Sie erarbeiten oder zeigen Sie mir ein Beispiel weil ich neu zu kantig bin. – Abhi
ok.in ein paar Minuten –