使用jquery.tableSort.js插件对table里面的数据进行排序处理

1.下载jquery.tableSort.js插件

要对table里面的数据进行排序,首先需要下载jquery.tableSort.js插件(链接: https://pan.baidu.com/s/1JM6e9A-e8Vt7262aA3l9fA 提取码: w6q5),以及引入jQuery包,因为所有jq插件都是基于jQuery包的

2.引入 jquery.tableSort.js到需要排序的页面



    
    
         
        测试tableSort
   

                


id 名称 人数 金额
16 红帽 2 270900000000
4 海盗 1 120000000
47 王子 1 200950000000

3.支持中文的排序

tablesorter.js,并不支持中文的排序,对其源码进行修改,可对中文进行排序

源码:
function sortText(a, b) {
  return ((a < b) ? -1 : ((a > b) ? 1 : 0));
};
function sortTextDesc(a, b) {
  return ((b < a) ? -1 : ((b > a) ? 1 : 0));
};

修改后代码:
function sortText(a, b) {
  return ((a < b) ? -1 : ((a > b) ? 1 : 0));
};
function sortTextDesc(a, b) {
  return ((b < a) ? -1 : ((b > a) ? 1 : 0));
};

4.ip排序不正确时可修改

源码:
	ts.addParser({
		id: "ipAddress",
		is: function(s) {
			return /^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);
		},
		format: function(s) {
 
			var a = s.split("."), r = "", l = a.length;
			for(var i = 0; i < l; i++) {
				var item = a[i];
				if(item.length == 2) {
					r += "0" + item;
			   	} else {
					r += item;
			   	}
			}
			return $.tablesorter.formatFloat(r);
		},
		type: "numeric"
	});

修改后代码:
ts.addParser({
		id: "ipAddress",
		is: function(s) {
			return /^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);
		},
		format: function(s) {
 
			var a = s.split("."), r = "", l = a.length;
			for(var i = 0; i < l; i++) {
				var item = a[i];
				if(item.length == 1) {
				r += "00" + item;
				}else if(item.length == 2) {
					r += "0" + item;
			   	} else {
					r += item;
			   	}
			}
			return $.tablesorter.formatInt(r);
		},
		type: "numeric"
	});

5.扩展排序函数 

   /*
    *工作需要扩展的,仅自己用!
    *扩展排序函数
    */
    //status排序
    $.tablesorter.addParser({
        id: "status", //指定一个唯一的ID
        is: function(s){
        return false;
        },
        format: function(s){
        var str=0;
        if(s.indexOf('<')!=-1){
         str=0;
        }else{
         str=s.toLowerCase().replace(/在线/,1).replace(/离线/,2); //将中文换成数字
        }
        return str;
        },
        type: "numeric" //按数值排序
    });    
 
    //num排序
    $.tablesorter.addParser({
        id: "num", //指定一个唯一的ID
        is: function(s){
         return false;
        },
        format: function(s){
        var point=s.indexOf("");
        var str=s[point-1];
        if(str.indexOf('>')!=-1){
         str=-1;
        }
         return str;
        },
        type: "numeric" //按数值排序
    });

你可能感兴趣的:(前端,#,html,javascript,jquery,前端,tableSort)