妙用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 相关文章推荐
使用JavaScript库还是自己写代码?
Jan 28 Javascript
js模拟hashtable的简单实例
Mar 06 Javascript
js的延迟执行问题分析
Jun 23 Javascript
jquery提示效果实例分析
Nov 25 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
Jul 21 Javascript
Web安全测试之XSS实例讲解
Aug 15 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
Jul 18 jQuery
vue实现通讯录功能
Jul 14 Javascript
Koa代理Http请求的示例代码
Oct 10 Javascript
JavaScrip数组去重操作实例小结
Jun 20 Javascript
微信小程序的授权实现过程解析
Aug 02 Javascript
vue 根据选择的月份动态展示日期对应的星期几
Feb 06 Vue.js
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
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
2014/05/23 PHP
php批量删除操作代码分享
2017/02/26 PHP
Windows服务器中PHP如何安装redis扩展
2019/09/27 PHP
Iframe 自适应高度并实时监控高度变化的js代码
2009/10/30 Javascript
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
2013/08/13 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
JS实现表单中checkbox对勾选中增加边框显示效果
2015/08/21 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
微信小程序自定义弹窗实现详解(可通用)
2019/07/04 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
2019/10/23 Javascript
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
2020/08/28 Javascript
vue使用openlayers实现移动点动画
2020/09/24 Javascript
跟老齐学Python之集合(set)
2014/09/24 Python
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
Python中的ceil()方法使用教程
2015/05/14 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
pandas DataFrame的修改方法(值、列、索引)
2019/08/02 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
Python ATM功能实现代码实例
2020/03/19 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
英国婴儿产品专家:Samuel Johnston
2020/04/20 全球购物
如何整合JQuery和Prototype
2014/01/31 面试题
大学毕业生通用自荐信范文
2013/10/31 职场文书
文秘大学生求职信
2014/02/25 职场文书
2014年体检中心工作总结
2014/12/23 职场文书
公安机关起诉意见书
2015/05/20 职场文书
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
2022/07/07 Java/Android