AngularJS 的小demo——表头排序+表格搜索(过滤器)

来源:互联网 发布:冒泡排序算法java 编辑:程序博客网 时间:2024/06/15 16:00

使用AngularJS简单实现表头排序和表格搜索的功能,效果如下:

点击表头中的一项,可以根据该列属性对数据进行排序:





       程序如下:

[html] view plain copy
  1. <!DOCTYPE html>  
  2. <html lang="en" ng-app="a3_4">  
  3. <head>  
  4.     <meta charset="UTF-8">  
  5.     <title>AngularJS 过滤器-表头排序+表格搜索</title>  
  6.     <style>  
  7.         body {font-size: 20px;}  
  8.         ul {list-style-type: none; width: 408px; margin: 0; padding: 0;}  
  9.         ul li {float: left; background-color: #999; border-bottom: 1px solid #DDD;}  
  10.         ul li:nth-child(2n) {background-color: #CCC;}  
  11.         ul .bold {font-weight: bold; cursor: pointer;}  
  12.         ul li span {width: 52px; float: left; padding: 10px 10px; text-align: center; color: #FFF;}  
  13.         ul li:first-child span:hover {background-color: #DDD; color: #999;}  
  14.         ul .focus {background-color: #ccc;}  
  15.         .form-control {padding: 10px 5px; outline: none; border: 1px solid #ABCDEF;}  
  16.         .form-control:focus {border-color: #999;}  
  17.     </style>  
  18. </head>  
  19. <body>  
  20.     <div ng-controller="c3_4">  
  21.         <div><input class="form-control" type="text" ng-model="key" placeholder="请输入姓名关键字"/></div>  
  22.         <br/>  
  23.         <ul>  
  24.             <li ng-class="{{bold}}">  
  25.                 <span>序号</span>  
  26.                 <span ng-click="title = 'name'; desc = !desc">姓名</span>  
  27.                 <span ng-click="title = 'sex'; desc = !desc">性别</span>  
  28.                 <span ng-click="title = 'age'; desc = !desc">年龄</span>  
  29.                 <span ng-click="title = 'score'; desc = !desc">分数</span>  
  30.             </li>  
  31.             <li ng-repeat="stu in data | filter: {name: key} | orderBy: title : desc">  
  32.                 <span>{{$index + 1}}</span>  
  33.                 <span>{{stu.name}}</span>  
  34.                 <span>{{stu.sex}}</span>  
  35.                 <span>{{stu.age}}</span>  
  36.                 <span>{{stu.score}}</span>  
  37.             </li>  
  38.         </ul>  
  39.     </div>  
  40.     <script src="../assets/angularjs/angular-1.3.0.js"></script>  
  41.     <script>  
  42.         var a3_4 = angular.module('a3_4', []);  
  43.         a3_4.controller('c3_4', ['$scope', function($scope) {  
  44.             $scope.bold = "bold";  
  45.             $scope.title = 'name';  
  46.             $scope.desc = 0;  
  47.             $scope.data = [  
  48.                 {name: '小明', sex: '男', age: 24, score: 95},  
  49.                 {name: '小哩', sex: '男', age: 27, score: 87},  
  50.                 {name: '小欣', sex: '女', age: 28, score: 86},  
  51.                 {name: '小白', sex: '女', age: 23, score: 97}  
  52.             ];  
  53.   
  54.             $scope.key = '';  
  55.         }]);  
  56.     </script>  
  57. </body>  
  58. </html>  
原创粉丝点击