当前位置:Gxlcms > JavaScript > JavaScript实现表格排序方法_javascript技巧

JavaScript实现表格排序方法_javascript技巧

时间:2021-07-01 10:21:17 帮助过:4人阅读

参考代码:

代码如下:





JavaScript控制网页内表格排序


































点击排序点击排序点击排序点击排序
15.43 700 1.220 www.corange.cn
7.05 4 3,000 asp
30.62 30 2,558,800 php
22.30 56 js
26.31 0.65 网站开发
63.16 74

输出
},
//将受影响的行和列转换成二维数组
_td2Array:function(){
var arr=[];
for(var i=(this.startRow-1),l=0;i<(this.endRow);i++,l++){
arr[l]=[];
for(var n=0;n arr[l].push(this.rows[i].cells[n].innerHTML);
}
}
return arr;
},
//根据排序后的二维数组来输出相应的行和列的 innerHTML
array2Td:function(num,arr){
this.colClassSet(num,this.selectClass);
for(var i= (this.startRow-1),l=0;i<(this.endRow);i++,l++){
for(var n=0;n this.rows[i].cells[n].innerHTML = arr[l][n];
}
}
},
//传进来一个二维数组,根据二维数组的子项中的w项排序,再返回排序后的二维数组
sortMethod:function(arr,aord,w){
//var effectCol = this.getColByNum(whichCol);
arr.sort(function(a,b){
x = killHTML(a[w]);
y = killHTML(b[w]);
x = x.replace(/,/g,'');
y = y.replace(/,/g,'');
switch (isNaN(x)){
case false:
return Number(x) - Number(y);
break;
case true:
return x.localeCompare(y);
break;
}
});
arr = aord==0?arr:arr.reverse();
return arr;
}
}
/*-----------------------------------*/
function addEventListener(o,type,fn){
if(o.attachEvent){o.attachEvent('on'+type,fn)}
else if(o.addEventListener){o.addEventListener(type,fn,false)}
else{o['on'+type] = fn;}
}

function hasClass(element, className) {
var reg = new RegExp('(\\s|^)'+className+'(\\s|$)');
return element.className.match(reg);
}

function addClass(element, className) {
if (!this.hasClass(element, className))
{
element.className += " "+className;
}
}

function removeClass(element, className) {
if (hasClass(element, className)) {
var reg = new RegExp('(\\s|^)'+className+'(\\s|$)');
element.className = element.className.replace(reg,' ');
}
}

var Bind = function(object, fun) {
return function() {
return fun.apply(object, arguments);
}
}
//去掉所有的html标记
function killHTML(str){
return str.replace(/<[^>]+>/g,"");
}
//------------------------------------------------
//tableid 第几行是标签行,从第几行开始排序,第几行结束排序(999表示最后) 升序标签样式,降序标签样式 选中列样式
//注意标签行的class应该是一致的
var ex1 = new tableSort('table',1,2,999,'up','down','hov');








人气教程排行