Angular Checkbox Filters
by Sajeetharan Sinnathurai
HTML
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<div ng-app="fruit">
<div ng-controller="FruitCtrl">
<div ng-repeat="f in fruit">
<input type="checkbox" ng-click="includeColour('f.colour')" />{{f.colour}} <br />
</div>
Filter dump: {{colourIncludes}}
</div>
</div>
JavaScript
'use strict'
angular.module('fruit', []);
function FruitCtrl($scope) {
$scope.fruit = [
{'name': 'Apple', 'colour': 'Red'},
{'name': 'Orange', 'colour': 'Orange'},
{'name': 'Banana', 'colour': 'Yellow'}];
$scope.colourIncludes = [];
$scope.includeColour = function(colour) {
var i = $.inArray(colour, $scope.colourIncludes);
if (i > -1) {
$scope.colourIncludes.splice(i, 1);
} else {
$scope.colourIncludes.push(colour);
}
}
$scope.colourFilter = function(fruit) {
if ($scope.colourIncludes.length > 0) {
if ($.inArray(fruit.colour, $scope.colourIncludes) < 0)
return;
}
return fruit;
}
}