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 相关文章推荐
用 javascript 实现的点击复制代码
Mar 24 Javascript
xmlhttp缓存清除的2种解决方法
Dec 13 Javascript
jQuery中data()方法用法实例
Dec 27 Javascript
JavaScript实现广告的关闭与显示效果实例
Jul 02 Javascript
JS+Ajax实现百度智能搜索框
Aug 04 Javascript
Node.js成为Web应用开发最佳选择的原因
Feb 05 Javascript
Angular5中调用第三方js插件的方法
Feb 26 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
Apr 18 jQuery
JS函数内部属性之arguments和this实例解析
Oct 07 Javascript
javascript自定义右键菜单插件
Dec 16 Javascript
JS快速实现简单计算器
Apr 08 Javascript
vue3如何优雅的实现移动端登录注册模块
Mar 29 Vue.js
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使用websocket示例详解
2014/03/12 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
YII框架关联查询操作示例
2019/04/29 PHP
PHP使用redis位图bitMap 实现签到功能
2019/10/08 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
xmlHTTP实例
2006/10/24 Javascript
原生JavaScript生成GUID的实现示例
2014/09/05 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
JS实现文档加载完成后执行代码
2015/07/09 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
2016/12/08 Javascript
jQuery Mobile漏洞会有跨站脚本攻击风险
2017/02/12 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
layui树形菜单动态遍历的例子
2019/09/23 Javascript
js轮播图之旋转木马效果
2020/10/13 Javascript
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
Python多线程学习资料
2012/12/19 Python
python字典序问题实例
2014/09/26 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
PyTorch之图像和Tensor填充的实例
2019/08/18 Python
利用Python实现朋友圈中的九宫格图片效果
2020/09/03 Python
某公司的.net工程师面试题笔试题
2013/11/22 面试题
公司道歉信范文
2014/01/09 职场文书
优良学风班总结材料
2014/02/08 职场文书
通知格式
2015/04/27 职场文书
学校运动会感想
2015/08/10 职场文书
消防安全培训工作总结
2015/10/23 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server