js php排序表格,JavaScript表格排序的例子

一个HTML表格排序的程序,由于是自己写的,所以比较土,况且没有使用任何JavaScript库,所以只实现了一些简单的功能。

主要是了解一下原理。

例子,JavaScript表格排序 代码。

复制代码 代码示例:

function ieOrFireFox(ob) {

if (ob.textContent != null)

return ob.textContent;

var s = ob.innerText;

return s.substring(0, s.length);

}

function sortTableByColumn(sortTableId,iCol,dataType){

var sortTable = document.getElementById(sortTableId);

var tbody = sortTable.tBodies[0];

var colRows = tbody.rows;

var aTrs = new Array;

var sortedHeader = sortTable.tHead.rows[0].cells[iCol];

for (var i = 0; i < colRows.length; i++) {

aTrs[i] = colRows[i];

}

if (sortTable.sortCol == iCol) {

if (sortTable.sortOrder == "desc") {

aTrs.sort(compareEle(iCol, dataType,'asc'));

sortTable.sortOrder = "asc";

} else {

aTrs.sort(compareEle(iCol, dataType,'desc'));

sortTable.sortOrder = "desc";

}

} else {

aTrs.sort(compareEle(iCol, dataType,'asc'));

sortTable.sortOrder = "asc";

}

sortTable.sortCol = iCol;

var oFragment = document.createDocumentFragment();

for ( var i = 0; i < aTrs.length; i++) {

oFragment.appendChild(aTrs[i]);

}

tbody.appendChild(oFragment);

}

function sortTable(tableId,thobj,dataType) {

var iCol = document.getElementById(thobj).cellIndex;

sortTableByColumn(tableId,iCol,dataType);

}

function convert(sValue, dataType,sortDerection) {

switch (dataType) {

case "int":

if(sValue.length <= 0){

if(sortDerection == "asc") {

sValue = "1000";

} else {

sValue = "-1";

}

}

return parseInt(sValue, 10);

case "float":

return parseFloat(sValue);

case "date":

return new Date(Date.parse(sValue));

default:

return sValue.toString().toLowerCase();

}

}

function compareEle(iCol, dataType,sortDerection) {

return function(oTR1, oTR2) {

var vValue1 = convert(ieOrFireFox(oTR1.cells[iCol]), dataType,sortDerection);

var vValue2 = convert(ieOrFireFox(oTR2.cells[iCol]), dataType,sortDerection);

var returnResult = 0;

if (vValue1 < vValue2) {

returnResult = -1;

} else if (vValue1 > vValue2) {

returnResult = 1;

} else {

returnResult = 0;

}

if(sortDerection == "desc"){

return -returnResult;

} else {

return returnResult;

}

};

}

Html代码,表格排序。

复制代码 代码示例:

Table Sort Example-表格排序-www.jquerycn.cn

Click on the table header to sort in ascending order.

Last NameDateSalaryAgeChineseName

Smith2008/9/20100.0320我Johnson2008/10/4200.818爱Henderson2008/10/1150.345北Williams2008/10/085020京Gilliam2008/10/3400.29故Walker2008/11/420.620宫
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值