0
点赞
收藏
分享

微信扫一扫

jquery table 插件排序

花明 2022-11-21 阅读 152


http://cdn.datatables.net/plug-ins/1.10.10/sorting/

这是所有排序插件

http://datatables.net/plug-ins/sorting/

这是用法


IP地址的改良了一下


 *  @example
 *    $('#example').dataTable( {
 *       columnDefs: [

            { orderable:false,//禁用排序
                 targets:[0]   //指定的列
             },
 *         { type: 'ip-address', targets: 0 }
 *       ],

"order": [[ 1, "asc" ]], 默认排序


 *    } );
 */


jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"ip-address-pre": function ( a ) {

a = a.match(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)[0];
var i, item;
var m = a.split("."),
n = a.split(":"),
x = "",
xa = "";

if (m.length == 4) {
// IPV4
for(i = 0; i < m.length; i++) {
item = m[i];


if(item.length == 1) {
x += "00" + item;
}
else if(item.length == 2) {
x += "0" + item;
}
else {
x += item;
}
}
}
else if (n.length > 0) {
// IPV6
var count = 0;
for(i = 0; i < n.length; i++) {
item = n[i];


if (i > 0) {
xa += ":";
}


if(item.length === 0) {
count += 0;
}
else if(item.length == 1) {
xa += "000" + item;
count += 4;
}
else if(item.length == 2) {
xa += "00" + item;
count += 4;
}
else if(item.length == 3) {
xa += "0" + item;
count += 4;
}
else {
xa += item;
count += 4;
}
}


// Padding the ::
n = xa.split(":");
var paddDone = 0;


for (i = 0; i < n.length; i++) {
item = n[i];


if (item.length === 0 && paddDone === 0) {
for (var padding = 0 ; padding < (32-count) ; padding++) {
x += "0";
paddDone = 1;
}
}
else {
x += item;
}
}
}

return x;
},


"ip-address-asc": function ( a, b ) {

return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},


"ip-address-desc": function ( a, b ) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
});

举报

相关推荐

0 条评论