博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js实现table排序-sortable.js
阅读量:5356 次
发布时间:2019-06-15

本文共 1987 字,大约阅读时间需要 6 分钟。

方案一、引用sortable.js包

/*                              序号                        */function ieOrFireFox(ob) {    var s = "";    if (ob!=null&&ob!=undefined) {        if (ob.text != null && ob.text != undefined)            return ob.text;        var s = ob.innerText;           }    return s.substring(0, s.length);  }    //排序 tableId: 表的id,iCol:第几列 ;dataType:iCol对应的列显示数据的数据类型  function sortAble(tableId, iCol, dataType) {    var table = document.getElementById(tableId);    var tbody = table.tBodies[0];      var colRows = tbody.rows;      var aTrs = new Array;           //将将得到的列放入数组,备用      for (var i=0; i < colRows.length; i++) {          aTrs[i] = colRows[i];      }                                                 //判断上一次排列的列和现在需要排列的是否同一个。      if (table.sortCol == iCol) {          aTrs.reverse();      } else {        //如果不是同一列,使用数组的sort方法,传进排序函数        aTrs.sort(compareEle(iCol, dataType));      }                var oFragment = document.createDocumentFragment();                        for (var i=0; i < aTrs.length; i++) {          oFragment.appendChild(aTrs[i]);      }                      tbody.appendChild(oFragment);      //记录最后一次排序的列索引      table.sortCol = iCol;  }  //将列的类型转化成相应的可以排列的数据类型  function convert(sValue, dataType) {      switch(dataType) {      case "int":          return parseInt(sValue);      case "float":          return parseFloat(sValue);      case "date":          return new Date(Date.parse(sValue));      default:          return sValue.toString();      }  }                //排序函数,iCol表示列索引,dataType表示该列的数据类型  function compareEle(iCol, dataType) {    return function (oTR1, oTR2) {        var vValue1 = convert(ieOrFireFox(oTR1.cells[iCol]), dataType);        var vValue2 = convert(ieOrFireFox(oTR2.cells[iCol]), dataType);        if (vValue1 < vValue2) {            return -1;        } else if (vValue1 > vValue2) {            return 1;        } else {            return 0;        }    };  }

 方案二、

    

 

转载于:https://www.cnblogs.com/elves/p/3596272.html

你可能感兴趣的文章
Linux常用命令(九)
查看>>
Linux常用命令(十一)
查看>>
Linux常用命令(十)
查看>>
实验吧之这就是一个坑
查看>>
Linux常用命令(十二)
查看>>
Linux常用命令(十三)
查看>>
Linux常用命令(十五)
查看>>
Linux常用命令(十四)
查看>>
Linux常用命令(十七)
查看>>
Linux常用命令(十六)
查看>>
Linux常用命令(二十四)
查看>>
4种java定时器
查看>>
Vue.js 教程
查看>>
linux 设置网卡
查看>>
hive 语法 case when 语法
查看>>
Ajax:js读取txt内容(json格式内容)
查看>>
Task 7 买书最低价格问题
查看>>
Selenium3+python自动化007-警告框
查看>>
html5 相同形状的图形进行循环
查看>>
springboot中文官方文档
查看>>