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 tools系列 expose 学习
Sep 06 Javascript
类似CSDN图片切换效果脚本
Sep 17 Javascript
javascript/jquery获取地址栏url参数的方法
Mar 05 Javascript
jQuery中extend函数的实现原理详解
Feb 03 Javascript
javascript正则表达式中的replace方法详解
Apr 20 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
Dec 20 Javascript
纯JS前端实现分页代码
Jun 21 Javascript
jQuery实现根据生日计算年龄 星座 生肖
Nov 23 Javascript
Vue实现双向绑定的方法
Dec 22 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
Jan 09 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
Feb 01 Javascript
纯js封装的ajax功能函数与用法示例
May 14 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
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
php封装一个异常的处理类
2017/06/08 PHP
PHP+Apache环境中如何隐藏Apache版本
2017/11/24 PHP
自己使用jquery写的一个无缝滚动的插件
2014/04/30 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
2014/07/01 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
2014/10/14 Javascript
js 操作符汇总
2014/11/08 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
javascript基本包装类型介绍
2015/04/10 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
再次谈论React.js实现原生js拖拽效果引起的一系列问题
2016/04/03 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
js移动端事件基础及常用事件库详解
2017/08/15 Javascript
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
详解vuex的简单todolist例子
2019/07/14 Javascript
vue-model实现简易计算器
2020/08/17 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
在vue中使用Echarts画曲线图的示例
2020/10/03 Javascript
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
python将文本分每两行一组并保存到文件
2018/03/19 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
详解python中index()、find()方法
2019/08/29 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
解决keras backend 越跑越慢问题
2020/06/18 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
美国知名的家庭连锁百货商店:Boscov’s
2017/07/27 全球购物
巴西购物网站:Estrela10
2018/12/13 全球购物
日语专业毕业生自荐信
2013/11/11 职场文书
小学生安全责任书
2014/07/25 职场文书
单位法人授权委托书范本
2014/10/09 职场文书
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL
Hive HQL支持2种查询语句风格
2022/06/25 数据库