javascript表排序(降序/逆序)实现(附图)
知识点:阵列的方法:
降序
反向:倒序
uff1a效应
代码uff1a
复制代码代码如下所示:
* {
保证金:0;
填充:0;
}
# tablesort {
行高:22px;
背景:# CCC;
}
# tablesort螺纹,
# tablesort tFoot {
背景:# 066;
颜色:# FFF;
字体大小:14px;
}
# tablesort不一,
# tablesort很大一{
颜色:# FFF;
}
# tablesort tFoot {
背景:# 069;
}
# tablesort TBODY TD {
背景:# FFF;
填料:3px 5px;
字体大小:12px;
}
商品名称
商品描述
货架期
价格
操作
一
一百二十三亿一千二百三十一万二千三百一十三
2013-5-8
120美元
删除
二
顶戴
2013-5-12
140美元
删除
三
更少的工作
2013-4-8
320美元
删除
四
七十七
2013-8-8
520美元
删除
五
恶劣的
2013-5-25
820美元
删除
六
黄梅
2013-5-2
120美元
删除
七
套装
2013-5-18
1220美元
删除
八
alizardo
2013-3-8
1260美元
删除
逆向选择与删除
设置检查过的批处理的值
功能setchecked(checkbox,检查){
对于(var i = 0,len = checkboxs.length;我< len;i++){
{我} checkbox选中的检查;
}
}
检查过的批处理的值
功能reversechecked(checkbox){
对于(var i = 0,len = checkboxs.length;我< len;i++){
{我}选中checkbox!{我}选中checkbox;
}
}
删除 / TR值
功能removetr(tbody,TR){
TBody.removeChild(TR);
}
获取
功能getparenttr(o){
当(o){
O = o.parentnode;
如果(面向对象= = =。tagnameTR){
回来啊;
}
}
}
/ / arrsort排序
功能arrsort(ARR,isdesc){
var arr = arr.sort(功能(num1,num2){
Return num1-num2;
});
如果(isdesc){ / /降序
Arr.reverse();
}
报酬;
}
表单排序
功能tablesort(tablepart,COL,有趣,isdesc){
无功arrnum = { } = { },TRS;
对于(var i = 0,len = tablepart.rows.length;我< len;i++){
VaR技术tablepart。行{我} { }。细胞Col;
娱乐(TD);
ArrNum.push(努姆);
TRS {ID+ Num } = {TRS身份+ Num } | | { };
TRS {ID+ Num }。推(getparenttr(TD));
}
arrnum = arrsort(arrnum,isdesc);
对于(var j = 0,jlen = arrnum.length;J < jlen;j++){
对于(var k = 0,该= TRS {ID+ arrnum { } } J。长度;K<KLEN;K+){
VaR TR = TRS {ID+ arrnum { } } J流行();
tablepart.appendchild(TR);
}
}
}
无功表= document.getelementbyid(tablesort );
VaR checkbox =表。tbodies { 0 }。getElementsByTagName(输入的);
VAR检查= document.getelementbyid(检查);
无功reservecheck = document.getelementbyid(reservecheck );
无功delselect = document.getelementbyid(delselect );
无功timesort = document.getelementbyid(timesort );
无功pricesort = document.getelementbyid(pricesort );
检查。onclick =函数(){
setchecked(checkbox,这个检查);
}
reservecheck。onclick =函数(){
reversechecked(checkbox);
}
表。tbodies { 0 }。onclick=功能(e){
VaR EV = E | | window.event;
var =目标目标| | ev.srcelement EV;
如果(!目标)返回;
目标。_op = target.getattribute(_op );
如果(!_op)收益的目标;
如果(目标。_op = = =检查的目标。型= = =复选框!目标。检查){
检查。检查= target.checked;
}
如果(目标。_op = = = ){
VaR TR = getparenttr(目标);
RemoveTr(表。tbodies { 0 },TR);
}
}
delselect。onclick =函数(){
VaR CHK = { };
对于(var i = 0,len = checkboxs.length;我< len;i++){
如果(checkbox {我},{检查)
VaR(TR = getparenttr checkbox {我});
Chk.push(TR);
}
}
对于(var j = 0,jlen = chk.length;J < jlen;j++){
RemoveTr(表。tbodies { 0 },{,} CHK);
}
}
无功sortmark =上/下;
timesort。onclick =函数(){
这个isdesc =(= = =真的。isdesc)假:真;
tablesort(表。tbodies { 0 },3、功能(TD){
返回(新的日期(TD .innerHTML))GetTime();
},这isdesc);
pricesort .innerHTML =价格
这.innerHTML =保质期+ sortmark {这isdesc1:0 };
}
pricesort。onclick =函数(){
这个isdesc =(= = =真的。isdesc)假:真;
tablesort(表。tbodies { 0 },4、功能(TD){
返回parseInt(td.innerhtml.replace($
},这isdesc);
timesort .innerHTML =保质期;
这.innerHTML =价格+ sortmark {这isdesc1:0 };
}
总结:
基本功能已经完成,并且没有实现联合排序。稍后,它将被缓慢添加,并且将代码放入HTML页面运行视图效果是很有意思的。