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中Iframe之间传值及子页面与父页面应用
Mar 11 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
Mar 26 Javascript
javascript单引号和双引号的区别和处理
May 14 Javascript
javascript用函数实现对象的方法
May 14 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
Mar 03 Javascript
解决vue里碰到 $refs 的问题的方法
Jul 13 Javascript
深入研究React中setState源码
Nov 17 Javascript
echarts学习笔记之图表自适应问题详解
Nov 22 Javascript
Vue实现todolist删除功能
Jun 26 Javascript
Bootstrap Table中的多选框删除功能
Jul 15 Javascript
解决layer.msg 不居中 ifram中的问题
Sep 05 Javascript
jQuery实现雪花飘落效果
Aug 02 jQuery
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中动态HTML的输出技术
2006/10/09 PHP
快速开发一个PHP扩展图文教程
2008/12/12 PHP
Views rows style模板重写代码
2011/05/16 PHP
PHP采用XML-RPC构造Web Service实例教程
2014/07/16 PHP
php中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
使用ThinkPHP生成缩略图及显示
2017/04/27 PHP
JavaScript中setInterval的用法总结
2013/11/20 Javascript
Firefox下无法正常显示年份的解决方法
2014/09/04 Javascript
jquery小火箭返回顶部代码分享
2015/08/19 Javascript
JS实现自动变换的菜单效果代码
2015/09/09 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
vue组件表单数据回显验证及提交的实例代码
2018/08/30 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
layui点击按钮页面会自动刷新的解决方案
2019/10/25 Javascript
[00:16]热血竞技场
2019/03/06 DOTA
使用Python开发windows GUI程序入门实例
2014/10/23 Python
python通过colorama模块在控制台输出彩色文字的方法
2015/03/19 Python
Python实现统计单词出现的个数
2015/05/28 Python
python之Socket网络编程详解
2016/09/29 Python
python实现一行输入多个值和一行输出多个值的例子
2019/07/16 Python
Python bytes string相互转换过程解析
2020/03/05 Python
Django多层嵌套ManyToMany字段ORM操作详解
2020/05/19 Python
Python configparser模块应用过程解析
2020/08/14 Python
Python WebSocket长连接心跳与短连接的示例
2020/11/24 Python
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
SAZAC的动物连体衣和动物睡衣:Kigurumi Shop
2020/03/14 全球购物
劳动竞赛活动方案
2014/02/20 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
2015年感恩父亲节演讲稿
2015/03/19 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书
亮剑精神观后感
2015/06/05 职场文书
经典法律座右铭(50句)
2019/08/15 职场文书
css3新特性的应用示例分析
2022/03/16 HTML / CSS
Redis如何使用乐观锁(CAS)保证数据一致性
2022/03/25 Redis