javascript实现多列table排序
来源: 阅读:2572 次 日期:2014-08-15 17:03:04
温馨提示: 小编为您整理了“javascript实现多列table排序”,方便广大网友查阅!

通过javascript的localeCompare来进行排序判断判断,这里举例是对1列的table进行排序.

查看效果:javascript实现table多列排序,列是不通的数据类型,通过转换后的数据类型再次排列

建立方法管理容器

var forasp = new Object;

首先看类型转换函数

forasp.conver =function(oValue,oDatetype)

{switch(oDatetype){

case "int":

return parseInt(oValue);

case "float":

return parseFloat(oValue);

case "date":

return new Date(Date.parse(oValue));

default:

return oValue.toString();

}

}

再看比较函数

forasp.bijiao = function(TRi,oDatetype)//在这里解释一下,TRi是第几列如果是第一列则为0,第二列则为1,返回的结果也是一个函数,因为在排序函数中sort()里面是一个函数.

{

return function compare(oTR1,oTR2)

{

var s1 = forasp.conver(oTR1.cells[TRi].firstChild.nodeValue,oDatetype);//通过TRi传过来列索引号的内容

var s2 = forasp.conver(oTR2.cells[TRi].firstChild.nodeValue,oDatetype);//并通过转换函数将列的值进行转换

if (s1

{return -1;}

else if(s1>s2)

{return 1;}

else

{return 0;}

}

}

调用比较函数

forasp.sortTable = function(id,TRi,oDatetype)

{

var oTable = document.getElementById(id);//获取以id为id的table对象---

var oTbody = oTable.tBodies[0];//获取第一个tBody

var oRows = oTbody.rows;//获取tBody的所有的行

var aTRs = new Array;//新建一个数组

for (var i=0;i < oRows.length ;i++ )

{

aTRs[i] = oRows[i];//循环将所有行换到新的数组

}

//在这里多一个功能就是翻转,当多次点击,都进行翻转即可,在这里给表的对象设置一个属性nowlie

if(oTable.nowlie!=TRi)//如果不是当前列

{

aTRs.sort(forasp.bijiao(TRi,oDatetype));//对数组进行比较,是通过新的数组的行比较===

}

else

{

aTRs.revers();

}

var otemp = document.createDocumentFragment();//创建文档碎片

for (var i = 0;i

{

otemp.appendChild(aTRs[i]);//分别将每行加入到文档碎片中

}

oTbody.appendChild(otemp);//将文档碎片添加到文档中

oTable.nowlie = TRi;//设置nowlie属性

}

-->

接下来是页面代码

javascript获取按键值-网站制作学习网

在这里插入代码

Baidu

完毕,看看你懂了么,这是通过javascript的localepare对table内容进行排序,

更多信息请查看IT技术专栏

更多信息请查看 脚本栏目
上一篇: window对象属性
手机网站地址: javascript实现多列table排序
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2026上岸·考公考编培训报班

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65099533/13759567129 获取招聘考试信息及咨询关注公众号:
咨询QQ:1093837350(9:00—18:00) 版权所有:
云南网警报警专用图标
Baidu
字符排序 数字排序 小树排序 日期排序
w11.016/9/1999
w33.2512/25/2010
w22.1810/9/2008
f362.999/12/1985
a653.123/9/2010
s2210.34/2/2009
p124.59/17/2011
dian312.333/3/2007
c339.686/4/2010
n215.699/17/2009