javascript操作表排序实例分析
本文演示了对Javascript操作表进行排序的方法:完整的例子如下:
表排序的例子
可以将字段类型列分类为类型:字符串、int、浮点
功能转换(价值、sdatatype){
开关(sdatatype){
案例int:
返回parseInt(价值);
案例浮动:
返回parseFloat(价值);
案例日期:
返回新的日期(Date.parse(价值));
违约:
返回svalue.tostring();
}
}
/ /排序函数发生器,内部冷却器泵列的索引,sdatatype表示该列的数据类型
功能generatecomparetrs(内部冷却器泵,sdatatype){
返回函数comparetrs(otr1,otr2){
无功vvalue1 =转换(otr1。细胞{内部冷却器泵}。firstchild.nodevalue,sdatatype);
无功vvalue2 =转换(otr2。细胞{内部冷却器泵}。firstchild.nodevalue,sdatatype);
如果(vvalue1 < vvalue2){
返回- 1;
如果别人}(vvalue1 > vvalue2){
返回1;
{人}
返回0;
}
};
}
排序方法
功能sorttable(stableid,内部冷却器泵,sdatatype){
值得关注的是document.getelementbyid VaR(stableid);
无功otbody =值得关注。tbodies { 0 };
无功coldatarows = otbody.rows;
VaR艺术=新的数组;
数组中的所有列
对于(var i = 0;i < coldatarows.length;i++){
艺术{我} = coldatarows {我};
}
最后一次排序/判断该列,现在您要对同一列进行排序,
是的,直接使用反向(反向)
如果(otable.sortcol = =内部冷却器泵){
ATRs.reverse();
{人}
使用数组排序函数的排序方法
ATRs.sort(generatecomparetrs(内部冷却器泵,sdatatype));
}
无功ofragment = document.createdocumentfragment();
对于(var i = 0;i < atrs.length;i++){
ofragment.appendchild(ATRS {我});
}
otbody.appendchild(ofragment);
最后一个记录排序索引
otable.sortcol =内部冷却器泵;
}
单击表标题按升序排序。
<日onclick=sorttable('tblsort ',0)
样式光标:指针
<日onclick=sorttable('tblsort ',1)
样式光标:指针>第一名称
<日onclick=sorttable('tblsort ',2,'date ')
样式=光标:指针>生日
<日onclick=sorttable('tblsort ',3,'int ')
样式光标:指针>兄弟姐妹
史密斯
约翰
7 12 1978
二
约翰逊
贝蒂
10 15 1977
四
亨德森
弥敦
2 25 1949
一
威廉姆斯
詹姆斯
7 8 1980
四
吉列姆
迈克尔
7 22 1949
一
散步的人
马修
1 14 2000
三
希望本文能对大家的javascript程序设计有所帮助。