JS实现简单表格排序操作示例


Posted in Javascript onOctober 07, 2017

本文实例讲述了JS实现简单表格排序操作。分享给大家供大家参考,具体如下:

<!DOCTYPE>
<html>
<head>
  <meta http-equiv="Content-type" content="text/html" charset="utf-8">
  <title>sort table</title>
  <style>
    *{
      margin:0px;
      padding:0px;
    }
    body{
      background:#ccc;
    }
    table{
      width:350px;
      margin:0 auto;
      background-color:#eee;
    }
    table th{
      cursor:hand;
      padding:5px 0;
      background-color:#999;
    }
    table td{
      background-color:#fff;
      font-size:16px;
      font-weight:normal;
      text-align:center;
      line-height:30px;
    }
  </style>
  <script language="javascript">
    function sortCells(type){
      var tbs=document.getElementsByTagName("table")[0];
      var arr=[];
      var arr2=[];
      for(var i=1;i<tbs.rows.length;i++){
        var text=tbs.rows[i].cells[type].innerText;
        arr.push(text);
        arr2[text]=i;
      }
      if(type==0){
        arr.sort(function(a,b){return a-b});
      }else{
        arr.sort();
      }
      var temp="";
      for(var j=1;j<tbs.rows.length;j++){
        temp=tbs.rows[j].cells[0].innerText;
        tbs.rows[j].cells[0].innerText=tbs.rows[arr2[arr[j-1]]].cells[0].innerText;
        tbs.rows[arr2[arr[j-1]]].cells[0].innerText=temp;
        temp=tbs.rows[j].cells[1].innerText;
        tbs.rows[j].cells[1].innerText=tbs.rows[arr2[arr[j-1]]].cells[1].innerText;
        tbs.rows[arr2[arr[j-1]]].cells[1].innerText=temp;
        temp=tbs.rows[j].cells[2].innerText;
        tbs.rows[j].cells[2].innerText=tbs.rows[arr2[arr[j-1]]].cells[2].innerText;
        tbs.rows[arr2[arr[j-1]]].cells[2].innerText=temp;
//        console.log(arr2);
        for(var i=1;i<tbs.rows.length;i++){
          var text=tbs.rows[i].cells[type].innerText;
          arr2[text]=i;
        }
      }
    }
  </script>
</head>
<body>
<center>sort table</center>
<table border="0">
  <tr>
    <th onclick="sortCells(0);">序号</th>
    <th onclick="sortCells(1);">姓名</th>
    <th onclick="sortCells(2);">日期</th>
  </tr>
  <tr>
    <td>2</td>
    <td>BB</td>
    <td>2015-09-12</td>
  </tr>
   <tr>
    <td>3</td>
    <td>CC</td>
    <td>2015-07-12</td>
  </tr>
   <tr>
    <td>1</td>
    <td>AA</td>
    <td>2015-09-11</td>
  </tr>
   <tr>
    <td>4</td>
    <td>DD</td>
    <td>2015-06-12</td>
  </tr>
</table>
</body>
</html>

运行效果:

JS实现简单表格排序操作示例

JS实现简单表格排序操作示例

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
js函数使用技巧之 setTimeout(function(){},0)
Feb 09 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
Mar 04 Javascript
Prototype源码浅析 String部分(二)
Jan 16 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
Nov 22 Javascript
PHP实现的各种中文编码转换类分享
Jan 23 Javascript
js实现键盘Enter键提交表单的方法
May 27 Javascript
简介AngularJS的HTML DOM支持情况
Jun 17 Javascript
BootStrap tab选项卡使用小结
Aug 09 Javascript
vue移动UI框架滑动加载数据的方法
Mar 12 Javascript
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
Nov 14 Javascript
微信小程序实现Swiper轮播图效果
Nov 22 Javascript
小程序实现录音上传功能
Nov 22 Javascript
javascript数组定义的几种方法
Oct 06 #Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
Oct 06 #Javascript
node.js中http模块和url模块的简单介绍
Oct 06 #Javascript
你应该知道的几类npm依赖包管理详解
Oct 06 #Javascript
vue-cli构建项目使用 less的方法
Oct 04 #Javascript
浅谈Angular2 模块懒加载的方法
Oct 04 #Javascript
浅谈angular2路由预加载策略
Oct 04 #Javascript
You might like
php获取mysql版本的几种方法小结
2008/03/25 PHP
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
2010/02/16 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
php+xml编程之SimpleXML的应用实例
2015/01/24 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
javascript中length属性的探索
2011/07/31 Javascript
浅谈javascript中的作用域
2012/04/07 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
2015/11/04 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
jQuery实现多级联动下拉列表查询框
2016/01/18 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
Angular 项目实现国际化的方法
2018/01/08 Javascript
Vue中的v-for循环key属性注意事项小结
2018/08/12 Javascript
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
vuex存储token示例
2019/11/11 Javascript
[02:04]2018DOTA2亚洲邀请赛Secret赛前采访
2018/04/03 DOTA
[00:17]DOTA2荣耀之路5:It’s a disastah!
2018/05/28 DOTA
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
Python3.x版本中新的字符串格式化方法
2015/04/24 Python
Python实现的异步代理爬虫及代理池
2017/03/17 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
简单了解python PEP的一些知识
2019/07/13 Python
python中数据库like模糊查询方式
2020/03/02 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
2014教育局对照检查材料思想汇报
2014/09/23 职场文书
师范生见习报告
2014/10/31 职场文书
高校自主招生教师推荐信
2015/03/23 职场文书
留学推荐信怎么写
2015/03/26 职场文书