Suggested VideosPart 9 - Sorting data in AngularJSPart 10 - AngularJS sort rows by table headerPart 11 - Search filter in AngularJSIn this video we will discuss how to filter by multiple properties in AngularJS. In the example below, we are using multiple search textboxes. As you type in the "Search name" textbox, only the name property is searched and matching elements are displayed. Similarly, as you type in the "Search city" textbox, only the city property is searched and the matching elements are displayed. When the "exact match" checkbox is checked, an exact match search is performed.Script.js : .co ntroller("myController", function($scope) {
< div style="margin-bottom:.0001pt;"> var employees = [ { name: "Ben", gender: "Male", salary: 55000, city: "London" },   ; { name: "Sara", gender: "Female", salary: 68000, city: "Chennai" }, { name: "Mark", gender: "Male", salary: 57000, city: "London" }, { name: "Pam", gender: "Female", salary: 53000, city: "Chennai" }, { name: "Todd", gender: "Male", salary: 60000, city: "London" },
$scope.employees = employees; HtmlPage1.html :<html xmlns="http:// www.w3.org/1999/xhtml"> <script src="Scripts/angular.min.js"></script> <script src="Scripts/Script.js"></script> <link href="Styles.css" rel="stylesheet" /> <div ng-controller="myController"> <input type="text" placeholder="Search name" ng-model="searchText.name" /> <input type="text" placeholder="Search city" ng-model="searchText.city" /> <input type="checkbox" ng-model="exactMatch" /> Exact Match <tr ng-repeat="employee in employees | filter: searchText : exactMatch"> <td> {{ employee.name }} </td> <td> {{ employee.gender }} </td> <td> {{ employee.salary< /span> }} </td> <td> {{ employee.city }} </td> </body> Styles.css
border-collapse: collapse;
text-align: left; The following example has a single search textbox, and is used to search multiple properties - name and city.Script.js : .controller("myController", function($scope) {
{ name: "Ben", gender: "Male", salary: 55000, city: "London" }, { name: "Sara", gender: "Female", salary: 68000, city: "Chennai" }, { name: "Mark", gender: "Male", salary: 57000, city: "London" }, { name: "Pam", gender: "Female", salary: 53000, city: "Chennai" }, &nb sp; { name: "Todd", gender: "Male", salary: 60000, city: "London" },
$scope.employees = employees;
$scope.search = function (item) { if ($scope.searchText == undefined) { if (item.city.toLowerCase() .indexOf($scope.searchText.toLowerCase()) != -1 || .indexOf($scope.searchText.toLowerCase()) != -1) {
}; HtmlPage1.html :<html xmlns="http://www.w3.org/1999/xhtml"> <script src="Scripts/angular.min.js"></script> <script src="Scrip ts/Script.js"></script> <link href="Styles.css" rel="stylesheet" /> <div ng-controller="myController"> Search : <input type ="text" placeholder="Search city & name" &n bsp; <tr ng-repeat="employee in employees | filter: search"> <td> {{ employee.name }} </td> <td> {{ employee.gender }} </td> <td> {{ employee.salary }} </td> & nbsp; <td> {{ employee.city }} </td> </body> |
No comments:
Post a Comment