妙用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 相关文章推荐
juqery 学习之六 CSS--css、位置、宽高
Feb 11 Javascript
js中onload与onunload的使用示例
Aug 25 Javascript
jquery选择器需要注意的问题
Nov 26 Javascript
举例讲解JavaScript中将数组元素转换为字符串的方法
Oct 25 Javascript
javascript精确统计网站访问量实例代码
Dec 19 Javascript
Bootstarp风格的toggle效果分享
Feb 23 Javascript
js print打印网页指定区域内容的简单实例
Nov 01 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
Nov 22 Javascript
js实现贪吃蛇小游戏(容易理解)
Jan 22 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 jQuery
vue实现简单的星级评分组件源码
Nov 16 Javascript
Layui表格行工具事件与数据回填方法
Sep 13 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
destoon实现调用图文新闻的方法
2014/08/21 PHP
WordPress中用于获取文章作者与分类信息的方法整理
2015/12/17 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
Yii2中使用asset压缩js,css文件的方法
2016/11/24 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
javascript与cookie 的问题详解
2013/11/11 Javascript
一个html5播放视频的video控件只支持android的默认格式mp4和3gp
2014/05/08 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
JS与jQuery实现隔行变色的方法
2016/09/09 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
jquery弹窗时禁止body滚动条滚动的例子
2019/09/21 jQuery
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
Python的randrange()方法使用教程
2015/05/15 Python
python获取一组汉字拼音首字母的方法
2015/07/01 Python
实践Vim配置python开发环境
2018/07/02 Python
python模拟登陆,用session维持回话的实例
2018/12/27 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
攀岩、滑雪、徒步旅行装备:Black Diamond Equipment
2019/08/16 全球购物
2019年c语言经典面试题目
2016/08/17 面试题
行政人员工作职责
2013/12/05 职场文书
户外婚礼策划方案
2014/02/08 职场文书
网站创业计划书
2014/04/30 职场文书
安全生产专项整治方案
2014/05/06 职场文书
超市创业计划书
2014/09/15 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
2016年优秀共青团员事迹材料
2016/02/25 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
深入讲解数据库中Decimal类型的使用以及实现方法
2022/02/15 MySQL
windows10 家庭版下FTP服务器搭建教程
2022/08/05 Servers