本文实例讲述了js表头排序实现方法。分享给大家供大家参考。
具体实现方法如下:
代码如下:
<script type="text/javascript">
//是否递减排序
var isDescending = true;
/*****************************************
* 要排序的行必须放到<tbody></tbody>标签中
* tableId:排序表格ID
* colNo:排序的列号,即第几列,从0开始
* startRowNo:排序的开始行号,从0开始
* sortLength:要排序的行数,
* type:排序列的类型
*/
function sort(tableId, colNo ,startRowNo, sortLength, type)
{
//如果要排序的行数是1或是0,则不对其进行排序操作
if(sortLength<=1){
return;
}
var currTable = document.getElementById(tableId);
var theHeader = currTable.outerHTML.substring(0, currTable.outerHTML.indexOf('<TBODY>')+7)
var theFooter = currTable.outerHTML.substring(currTable.outerHTML.indexOf('</TBODY>')-8);
//这里的行数是去掉表头表头行和表位行的行数
var theRows = new Array(sortLength);
//对表中的数据进行循环
for(i=startRowNo; i<sortLength+startRowNo; i++)
{
theRows[i-startRowNo] = new Array(currTable.rows[i].cells[colNo].innerText.toLowerCase(), currTable.rows[i].outerHTML);
}
if(type.toUpperCase()=='NUMBER')
{
theRows.sort(compareNumber);
}
else if(type.toUpperCase()=='DATE')
theRows.sort(compareDate);
else if(type.toUpperCase()=='STRING')
theRows.sort(compareString);
var tableInfo=''
for(j=0; j<theRows.length; j++)
新闻热点
疑难解答
图片精选