Angular.js – using ng-show to filter a list

A simple Angular.js example of using ng-show to filter a table.
<!DOCTYPE html>
<html ng-app="testApp">
<head>

    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
    <meta name="description" content="Tizen Angular.js example"/>

    <title>Tizen Angular.js example</title>

    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>
    
    <script src="js/jquery-2.1.4.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/angular.min.js"></script>
    <script>
       
        var app = angular.module('testApp', []);

            app.controller('AppController', function($scope) {

                $scope.people= [{name:'Bart', surname:'Blaskovitz', sex: 'male'},
                                {name:'Luke', surname:'Berrynski', sex: 'male'},
                                {name:'Radoslav', surname:'Manymountain', sex: 'male'},
                                {name:'Caroline', surname:'Rabbit', sex: 'female'}];
                
                $scope.sexType = "male";

            });

    </script>
</head>

<body>
<div ng-controller="AppController">
  <p>Employee listing</p>
  <br>
    FILTER BY SEX:
  <br><br>
     <form>
       <input id="maleRadio" type="radio" name="sex" ng-model="sexType" value="male" checked>Male
        <br>
       <input id="femaleRadio" type="radio" name="sex" ng-model="sexType" value="female">Female
     </form>
     <br><br>
     <ul>
       <li ng-repeat="x in people | orderBy: 'surname'" ng-show="sexType == x.sex">
          {{ x.name + ', ' + (x.surname | uppercase) }}
       </li>
     </ul>
  
</div>  
</body>

</html>

Responses

0 Replies