妙用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判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
Jun 22 Javascript
jQuery拖拽div实现思路
Feb 19 Javascript
jQuery实现伪分页的方法分享
Feb 17 Javascript
详解AngularJS中的表单验证(推荐)
Nov 17 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
Dec 12 Javascript
利用 spin.js 生成等待效果(js 等待效果)
Jun 25 Javascript
JavaScript函数中的this四种绑定形式
Aug 15 Javascript
Node.js利用console输出日志文件的方法示例
Apr 27 Javascript
Vue中父子组件通讯之todolist组件功能开发
May 21 Javascript
小程序登录态管理的方法示例
Nov 13 Javascript
使用taro开发微信小程序遇到的坑总结
Apr 08 Javascript
浅谈克隆 JavaScript
Nov 02 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
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
php中serialize序列化与json性能测试的示例分析
2013/04/27 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
php简单备份与还原MySql的方法
2016/05/09 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
JavaScript中使用构造器创建对象无需new的情况说明
2012/03/01 Javascript
js自定义方法通过隐藏iframe实现文件下载
2013/02/21 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
Angularjs 制作购物车功能实例代码
2016/09/14 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
2018/10/30 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
使用weixin-java-miniapp配置进行单个小程序的配置详解
2019/03/29 Javascript
4 种滚动吸顶实现方式的比较
2019/04/09 Javascript
小程序如何获取多个formId实现详解
2019/09/20 Javascript
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
Python使用base64模块进行二进制数据编码详解
2018/01/11 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
Python简单实现网页内容抓取功能示例
2018/06/07 Python
python实现XML解析的方法解析
2019/11/16 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
倩碧美国官网:Clinique美国
2016/07/20 全球购物
信用社竞聘演讲稿
2014/05/16 职场文书
2014年党员自我评议总结
2014/09/23 职场文书
付款委托书范本
2014/10/05 职场文书
单位未婚证明范本
2014/11/25 职场文书
地震慰问信
2015/02/14 职场文书
Python图像处理之图像拼接
2021/04/28 Python
关于mysql中string和number的转换问题
2022/06/14 MySQL
HTML5页面打开微信小程序功能实现
2022/09/23 HTML / CSS