JSFiddle - React, Tailwind, and code Playground
by Neeraj Yadav
HTML
<div ng-app="MyApp">
<ul ng-controller="checkboxController">
<li>Check All
<input type="checkbox" ng-model="allChked" ng-model-options="{getterSetter: true}"/>
</li>
<li ng-repeat="item in Items">
<label>{{item.Name}}
<input type="checkbox" ng-model="item.Selected" />
</label>
</li>
</ul>
</div>
JavaScript
var app = angular.module("MyApp", []);
app.controller("checkboxController", function($scope){
$scope.Items = [{
Name: "Item one"
}, {
Name: "Item two"
}, {
Name: "Item three"
}];
var getAllSelected = function () {
var selectedItems = $scope.Items.filter(function (item) {
return item.Selected;
});
return selectedItems.length === $scope.Items.length;
}
var setAllSelected = function (value) {
angular.forEach($scope.Items, function (item) {
item.Selected = value;
});
}
$scope.allChked = function (value) {
if (value !== undefined) {
return setAllSelected(value);
} else {
return getAllSelected();
}
}
});