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 相关文章推荐
用倒置滤镜把div倒置,再把table倒置。
Jul 31 Javascript
根据经纬度计算地球上两点之间的距离js实现代码
Mar 05 Javascript
html的DOM中document对象forms集合用法实例
Jan 21 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
Feb 26 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
Sep 23 Javascript
JS实现图片放大缩小的方法
Feb 15 Javascript
在javaScript中检测数据类型的几种方式小结
Mar 04 Javascript
详解webpack-dev-server使用方法
Sep 14 Javascript
解决echarts数据二次渲染不成功的问题
Jul 20 Javascript
vue相同路由跳转强制刷新该路由组件操作
Aug 05 Javascript
JavaScript交换变量常用4种方法解析
Sep 02 Javascript
vue 中的动态传参和query传参操作
Nov 09 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修改session_id示例代码
2014/01/08 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
php猜单词游戏
2015/09/29 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
Thinkphp 中 distinct 的用法解析
2016/12/14 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
2017/02/04 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
javascript控制frame,iframe的src属性代码
2009/12/31 Javascript
jQuery焦点图切换特效代码分享
2015/09/15 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
2016/05/18 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
2016/12/26 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
微信小程序block的使用教程
2018/04/01 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
Node.JS如何实现JWT原理
2020/09/18 Javascript
Python模块学习 re 正则表达式
2011/05/19 Python
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
Django框架使用富文本编辑器Uedit的方法分析
2018/07/31 Python
用Python将mysql数据导出成json的方法
2018/08/21 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
利用Python实现朋友圈中的九宫格图片效果
2020/09/03 Python
波兰珠宝品牌:YES
2019/08/09 全球购物
优秀班集体获奖感言
2014/02/03 职场文书
石油工程专业毕业生求职信
2014/04/13 职场文书
给客户的感谢信
2015/01/21 职场文书
教师岗位职责
2015/02/03 职场文书
婚庆司仪开场白
2015/05/29 职场文书
毛主席纪念堂观后感
2015/06/17 职场文书
幼儿园托班开学寄语(2016秋季)
2015/12/03 职场文书
MySQL 数据库范式化设计理论
2022/04/22 MySQL