妙用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 相关文章推荐
百度 popup.js 完美修正版非常的不错 脚本之家推荐
Apr 17 Javascript
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
Mar 09 Javascript
js的逻辑运算符 ||
May 31 Javascript
JavaScript中valueOf函数与toString方法深入理解
Dec 02 Javascript
javascript去掉代码里面的注释
Jul 24 Javascript
简化vuex的状态管理方案的方法
Jun 02 Javascript
基于webpack4搭建的react项目框架的方法
Jun 30 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
Aug 27 Javascript
利用百度echarts实现图表功能简单入门示例【附源码下载】
Jun 10 Javascript
JS手写一个自定义Promise操作示例
Mar 16 Javascript
详解JavaScript的this指向和绑定
Sep 08 Javascript
5种 JavaScript 方式实现数组扁平化
Oct 05 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
如何在PHP中使用Oracle数据库(6)
2006/10/09 PHP
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
360通用php防护代码(使用操作详解)
2013/06/18 PHP
php弹出对话框实现重定向代码
2014/01/23 PHP
php从给定url获取文件扩展名的方法
2015/03/14 PHP
php中各种定义变量的方法小结
2017/10/18 PHP
php 可变函数使用小结
2018/06/12 PHP
JavaScript面向对象编程
2008/03/02 Javascript
jquery.validate使用攻略 第二部
2010/07/01 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
2012/04/12 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
使用js修改客户端注册表的方法
2013/08/09 Javascript
jquery实现滑动图片自己测试的例子
2013/11/05 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
2016/02/23 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
JavaScript数据结构之二叉树的删除算法示例
2017/04/13 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
2017/08/17 Javascript
Vue Transition实现类原生组件跳转过渡动画的示例
2017/08/19 Javascript
JS实现的JSON数组去重算法示例
2018/04/11 Javascript
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
node.js ws模块搭建websocket服务端的方法示例
2019/04/25 Javascript
python requests指定出口ip的例子
2019/07/25 Python
Pytorch 使用 nii数据做输入数据的操作
2020/05/26 Python
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
一站式跨境收款解决方案:Payoneer(派安盈)
2018/09/06 全球购物
小学科学教学反思
2014/01/26 职场文书
项目经理任命书内容
2014/06/06 职场文书
中文专业自荐书
2014/06/29 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
财务人员入职担保书
2015/09/22 职场文书