妙用Angularjs实现表格按指定列排序


Posted in Javascript onJune 23, 2017

使用AngularJS的过滤器,可以很容易的实现在表格中,点击某一列标题进行排序,实现过程如下:

html代码:

<table class="table table-border" ng-app="myapp" ng-controller="orderByCtrl">
  <thead>
    <tr>
      <th>inx</th>
      <th ng-click="col='name';desc=!desc">name</th>
      <!-- 当点击列标题时,执行click事件,将排序条件反转,即,如果原来是升序则将按降序,降序亦如此 -->
      <th ng-click="col='gender';desc=!desc">gender</th>
      <th ng-click="col='age';desc=!desc">age</th>
      <th ng-click="col='score';desc=!desc">score</th>
    </tr>
  </thead>
  <tbody>
    <tr ng-repeat="d in data|orderBy:col:desc">
      <td ng-bind="$index+1"></td>
      <td ng-bind="d.name"></td>
      <td ng-bind="d.gender"></td>
      <td ng-bind="d.age"></td>
      <td ng-bind="d.score"></td>
    </tr>
  </tbody>
</table>

js代码:

var app = angular.module('myapp', []);
app.controller('orderByCtrl', function($scope) {
  $scope.col = 'name';//默认按name列排序
  $scope.desc = 0;//默认排序条件升序
  $scope.data = [{
    name: 'name 1',
    gender: 'male',
    age: 26,
    score: 70
  }, {
    name: 'name 2',
    gender: 'female',
    age: 24,
    score: 84
  }, {
    name: 'name 3',
    gender: 'male',
    age: 20,
    score: 76
  }, {
    name: 'name 4',
    gender: 'female',
    age: 22,
    score: 64
  }];
})

让运行界面好看些,使用了bootstrap.min.css样式库。为了交互性考虑,在表头增加了手指样式

th {
  cursor: pointer;
}

以上所述是小编给大家介绍的妙用Angularjs实现表格按指定列排序,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js捕获鼠标右键菜单中的粘帖事件实现代码
Apr 01 Javascript
关于JS管理作用域的问题
Apr 10 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
Nov 07 Javascript
JQuery 使用attr方法实现下拉列表选中
Oct 13 Javascript
javascript工厂方式定义对象
Dec 26 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
Jul 04 Javascript
node.js中 stream使用教程
Aug 28 Javascript
用iframe实现不刷新整个页面上传图片的实例
Nov 18 Javascript
利用vue-router实现二级菜单内容转换
Nov 30 Javascript
Javascript实现运算符重载详解
Apr 07 Javascript
详解vue-router传参的两种方式
Sep 10 Javascript
微信小程序上线发布流程图文详解
May 06 Javascript
VUE中v-model和v-for指令详解
Jun 23 #Javascript
JavaScript正则表达式简单实用实例
Jun 23 #Javascript
js中的事件委托或是事件代理使用详解
Jun 23 #Javascript
JS判断非空至少输入两个字符的简单实现方法
Jun 23 #Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
Jun 23 #Javascript
微信小程序组件 marquee实例详解
Jun 23 #Javascript
VUE元素的隐藏和显示(v-show指令)
Jun 23 #Javascript
You might like
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
用PHP实现递归循环每一个目录
2010/08/08 PHP
完善CodeIgniter在IDE中代码提示功能的方法
2014/07/19 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
PHP中串行化用法示例
2016/11/16 PHP
php json相关函数用法示例
2017/03/28 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
php session_decode函数用法讲解
2019/05/26 PHP
安装docker和docker-compose实例详解
2019/07/30 PHP
用Javascript实现UTF8编码转换成gb2312编码
2006/12/22 Javascript
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
javascript图片预加载实例分析
2015/07/16 Javascript
HTML中使背景图片自适应浏览器大小实例详解
2017/04/06 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
分享8个JavaScript库可更好地处理本地存储
2020/10/12 Javascript
[03:34]2014DOTA2西雅图国际邀请赛 淘汰赛7月15日TOPPLAY
2014/07/15 DOTA
Python登录系统界面实现详解
2019/06/25 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
Python中Yield的基本用法
2020/10/18 Python
python实现测试工具(二)——简单的ui测试工具
2020/10/19 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
耐克奥地利官网:Nike奥地利
2019/08/16 全球购物
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
抽象类和接口的区别
2012/09/19 面试题
物业管理毕业生的自我评价
2014/02/17 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
优秀教师单行材料
2014/12/16 职场文书
2014年会计主管工作总结
2014/12/20 职场文书
怎么用Python识别手势数字
2021/06/07 Python
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python