То, что я пытаюсь сделать, это проверить некоторые флажки, принадлежащие итерации цикла , когда я устанавливаю флажок «Мастер». Мой код до сих пор в представлении:Выберите все флажки внутри той же итерации цикла, используя AngularJS
<div ng-app="CheckAllModule">
<div ng-controller="checkboxController">
<ul ng-repeat="s in struct">
<li><strong>{{s}} item</strong>
<input type="checkbox" ng-checked="x1 && x2 && x3" ng-model="selectedAll" ng-click="checkAll()" />
</li>
<label>Subitem A
<input type="checkbox" ng-checked="chk" ng-model="x1" />
</label>
<label>Subitem B
<input type="checkbox" ng-checked="chk" ng-model="x2" />
</label>
<label>Subitem C
<input type="checkbox" ng-checked="chk" ng-model="x3" />
</label>
</ul>
</div>
</div>
Если первый флажок «мастер» и должен навязывать свое состояние на «рабов» (следующих трех флажков), независимо от того, что было их предыдущее состояние.
Что касается ведомых флажков, их следует проверить & непроверено. Но если три одновременно проверяются, мастер тоже должен быть. Когда только один из них не проверяется, мастер не должен быть таким же.
И мой контроллер:
var app = angular.module("CheckAllModule", []);
app.controller("checkboxController", function ($scope) {
$scope.struct = ['First', 'Second'];
$scope.checkAll = function() {
if ($scope.selectedAll) {
$scope.chk = true;
} else {
$scope.chk = false;
}
};
});
Он работает, как и ожидалось, спасибо! –
@luisddm рад слышать, примечание KreepN (внизу), чтобы использовать точечную нотацию, стоит прислушаться. – jcuenod
Да, он хорошо говорит об этом, +1 тоже. –