妙用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 setTimeout()传递函数参数(包括传递对象参数)
Apr 07 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
Dec 10 Javascript
JavaScript中的继承方式详解
Feb 11 Javascript
jQuery中$.extend()用法实例
Jun 24 Javascript
jQuery模仿单选按钮选中效果
Jun 24 Javascript
jQuery替换节点用法示例(使用replaceWith方法)
Sep 08 Javascript
Ajax跨域实现代码(后台jsp)
Jan 21 Javascript
JS简单封装的图片无缝滚动效果示例【测试可用】
Mar 22 Javascript
Angular4表单验证代码详解
Sep 03 Javascript
Nginx 配置多站点vhost 的方法
Jan 07 Javascript
Vue 实现树形视图数据功能
May 07 Javascript
详解js静态检查工具eslint配置文件
Nov 23 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
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
PHP下判断网址是否有效的代码
2011/10/08 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
php将一维数组转换为每3个连续值组成的二维数组
2016/05/06 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
JavaScript 解析Json字符串的性能比较分析代码
2009/12/16 Javascript
JavaScript使用addEventListener添加事件监听用法实例
2015/06/01 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
JavaScript知识点整理
2015/12/09 Javascript
使用jQuery加载html页面到指定的div实现方法
2016/07/13 Javascript
JS对象是否拥有某属性如何判断
2017/02/03 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
python实现基本进制转换的方法
2015/07/11 Python
详解python中字典的循环遍历的两种方式
2017/02/07 Python
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
Python处理菜单消息操作示例【基于win32ui模块】
2018/05/09 Python
python调用webservice接口的实现
2019/07/12 Python
python selenium循环登陆网站的实现
2019/11/04 Python
Python类的继承super相关原理解析
2020/10/22 Python
Django启动时找不到mysqlclient问题解决方案
2020/11/11 Python
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
有多年工作经验的自我评价
2014/03/02 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
面试感谢信范文
2015/01/22 职场文书
高二语文教学反思
2016/02/16 职场文书
小米11和iphone12哪个值得买?小米11对比iphone12评测
2021/04/21 数码科技
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js
win10蓝屏0xc0000001安全模式进不了怎么办?win10出现0xc0000001的解决方法
2022/08/05 数码科技