Angular Filter by JSON groups
Angular Filter by JSON groups
by Andrew Pougher
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js"></script>
<div ng-app ng-controller="Test">
<h2>Interest Groups</h2>
<div class="btn-group" role="group" aria-label="...">
<button type="button" class="btn btn-default" ng-click="myFilter = {type: 1}">Dentists</button>
<button type="button" class="btn btn-default" ng-click="myFilter = {type: 2}">RDH</button>
<button type="button" class="btn btn-default" ng-click="myFilter = {type: 3}">Suppliers</button>
<button type="button" class="btn btn-default" ng-click="myFilter = onethree">Groups 1 - 3</button>
<button type="button" class="btn btn-default" ng-click="myFilter = null">No filter</button>
</div>
<div class="panel panel-default">
<div class="panel-body">
<ul class="list-group">
<li class="list-group-item" ng-repeat="person in persons | filter:myFilter">{{person.name}}</li>
</ul>
</div></div>
</div>
<script>
/* http://bit.ly/ARP71 */
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-4809804-1', 'auto');
ga('send', 'pageview');
</script>
JavaScript
function Test($scope) {
$scope.persons = [{
type: 1,
name: 'Floss'
}, {
type: 2,
name: 'Dental'
}, {
type: 1,
name: 'Ortho'
}, {
type: 3,
name: 'Oral'
}];
$scope.onethree = function (val) {
return (val.type != 2);
};
}