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 相关文章推荐
使用jQuery避免鼠标双击的解决方案
Aug 21 Javascript
js实现收缩菜单效果实例代码
Oct 30 Javascript
js实现编辑div节点名称的方法
Dec 17 Javascript
javascript动态创建表格及添加数据实例详解
May 13 Javascript
js判断登陆用户名及密码是否为空的简单实例
May 16 Javascript
JS实现回到页面顶部动画效果的简单实例
May 24 Javascript
详解vue-validator(vue验证器)
Jan 16 Javascript
JS正则获取HTML元素的方法
Mar 31 Javascript
vue.js 实现输入框动态添加功能
Jun 25 Javascript
React 项目迁移 Webpack Babel7的实现
Sep 12 Javascript
微信公众号H5支付接口调用方法
Jan 10 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
Oct 16 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常用字符串的总结(待续)
2013/06/07 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
2016/01/07 PHP
PHP+ajax实现二级联动菜单功能示例
2018/08/10 PHP
javascript获得CheckBoxList选中的数量
2009/10/27 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
jQuery实用技巧必备(下)
2015/11/03 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
JavaScript中校验银行卡号的实现代码
2016/12/19 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
让div运动起来 js实现缓动效果
2017/07/06 Javascript
vue中七牛插件使用的实例代码
2017/07/28 Javascript
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
快速解决处理后台返回json数据格式的问题
2018/08/07 Javascript
小程序中canvas的drawImage方法参数使用详解
2019/07/04 Javascript
如何利用node.js开发一个生成逐帧动画的小工具
2019/12/01 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
解决Python出现_warn_unsafe_extraction问题的方法
2016/03/24 Python
Python简单基础小程序的实例代码
2019/04/28 Python
Python模块、包(Package)概念与用法分析
2019/05/31 Python
Python面向对象之类的封装操作示例
2019/06/08 Python
python实现串口自动触发工作的示例
2019/07/02 Python
Python 计算任意两向量之间的夹角方法
2019/07/05 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
国际旅客访问北美最大的汽车租赁提供商:Alamo Rent A Car
2018/06/13 全球购物
MSC邮轮官方网站:加勒比海、地中海和世界各地的假期
2018/08/27 全球购物
宿舍违规用电检讨书
2014/02/16 职场文书
企业后勤岗位职责
2014/02/28 职场文书
职工代表大会主持词
2014/04/01 职场文书
有关爱国演讲稿
2014/05/07 职场文书
横幅标语大全
2014/06/17 职场文书
民政局标准版离婚协议书
2014/12/01 职场文书
承诺函范文
2015/01/21 职场文书
旷工检讨书大全
2015/08/15 职场文书
餐厅营销的秘密:为什么老顾客会流水?
2019/08/08 职场文书