JavaScript - Dropdown Sort Using AngularJS

In this tutorial we will create a Dropdown Sort using AngularJS. This code can sort an table row data in the HTML table when select a value in the drop down. The code use angular directives to sort array data by adding orderBy in the ng-repeat and assigning the drop down ng-model as the orderBy value. This a user-friendly program feel free to modify and use it to your system. We will be using AngularJS as a framework which has additional custom HTML attributes embedded into it. It can interprets those attributes as directives to bind inputted parts of the page to a model that represent as a standard JavaScript variables.

Getting started:

First you will need to download & install the AngularJS here's the link https://angularjs.org/. And this is the link for the bootstrap that i used for the layout design https://getbootstrap.com/.

Creating the Main Interface

This code contains the interface of the application. This code will render application and display the form. To do that just kindly write these block of code inside the text editor and save it as index.html.
  1. <!DOCTYPE html>
  2. <html lang="en" ng-app="myModule">
  3. <head>
  4. <meta charsert="UTF-8" name="viewport" content="width=device-width, initial-scale=1"/>
  5. <link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
  6. </head>
  7. <body ng-controller="myController">
  8. <nav class="navbar navbar-default">
  9. <div class="container-fluid">
  10. <a class="navbar-brand" href="https://sourcecodester.com">Sourcecodester</a>
  11. </div>
  12. </nav>
  13. <div class="col-md-3"></div>
  14. <div class="col-md-6 well">
  15. <h3 class="text-primary">JavaScript - Dropdown Sort Using AngularJS</h3>
  16. <hr style="border-top:1px dotted #ccc;"/>
  17. <div class="col-md-4">
  18. <form>
  19. <div class="form-group">
  20. <label>Firstname</label>
  21. <input type="text" class="form-control" ng-model="newMember.firstname"/>
  22. </div>
  23. <div class="form-group">
  24. <label>Lastname</label>
  25. <input type="text" class="form-control" ng-model="newMember.lastname"/>
  26. </div>
  27. <div class="form-group">
  28. <label>Address</label>
  29. <input type="text" class="form-control" ng-model="newMember.address"/>
  30. </div>
  31.  
  32. <center><button type="button" class="btn btn-primary" ng-click = "saveMember()"><span class = "glyphicon glyphicon-save"></span> Save</button></center>
  33. </form>
  34. </div>
  35. <div class="col-md-8">
  36. <div class="form-inline">
  37. <label>Order By:</label>
  38. <select class="form-control" ng-model="order">
  39. <option value="firstname">Firstname ASC</option>
  40. <option value="-firstname">Firstname DESC</option>
  41. <option value="lastname">Lastname ASC</option>
  42. <option value="-lastname">Lastname DESC</option>
  43. <option value="address">Address ASC</option>
  44. <option value="-address">Address DESC</option>
  45. </select>
  46. </div>
  47. <br />
  48. <table class="table table-bordered">
  49. <thead class="alert-info">
  50. <tr>
  51. <th>Firstname</th>
  52. <th>Lastname</th>
  53. <th>Address</th>
  54. </tr>
  55. </thead>
  56. <tr ng-repeat="member in members | orderBy:order">
  57. <td>{{member.firstname}}</td>
  58. <td>{{member.lastname}}</td>
  59. <td>{{member.address}}</td>
  60. </tr>
  61. </tbody>
  62. </table>
  63. </div>
  64. </div>
  65. <script src="js/angular.js"></script>
  66. <script src="js/script.js"></script>
  67. </body>
  68. </html>
  69. </html>

Creating the Script

This code contains the main function of the application. This code will sort table data when the drop down value is selected. To that just kindly copy and write these block of codes inside the text editor, then save it inside the js directory as script.js.
  1. var app = angular.module("myModule", [])
  2. .controller("myController", function($scope){
  3. $scope.members = [
  4. {firstname: "John", lastname: "Smith", address: "New York"},
  5. {firstname: "Claire", lastname: "Temple", address: "Racoon City"},
  6. ];
  7.  
  8. $scope.newMember = {};
  9.  
  10. $scope.saveMember = function(){
  11. $scope.members.push($scope.newMember);
  12. $scope.newMember = {};
  13. };
  14.  
  15. $scope.order="firstname";
  16. });
There you have it we successfully created a Dropdown Sort using AngularJS. I hope that this very simple tutorial help you to what you are looking for. For more updates and tutorials just kindly visit this site. Enjoy Coding!!

Add new comment