本文实例讲述了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++) { tableInfo+=theRows[j][1]; } isDescending = !isDescending; currTable.outerHTML= theHeader + tableInfo +theFooter; return ; } //对数字进行比较 function compareNumber(x, y) { //对货币格式的数据进行转化 a = x[0].excludeChars(",").trim(); b = y[0].excludeChars(",").trim(); if(a==""){a=0;} if(b==""){b=0;} if(isDescending) { return parseFloat(b) - parseFloat(a); } else { return parseFloat(a) - parseFloat(b); } } //对字符串进行比较 function compareString(x, y) { if(isDescending) { if(x[0]>y[0]) return -1; else if(x[0]<y[0]) return 1; else return 0; } else { if(x[0]<y[0]) return -1; else if(x[0]>y[0]) return 1; else return 0; } } //对时间进行比较 function compareDate(x,y){ var arr=x[0].split("-"); var starttime=new Date(arr[0],arr[1],arr[2]); var starttimes=starttime.getTime(); var arrs=y[0].split("-"); var lktime=new Date(arrs[0],arrs[1],arrs[2]); var lktimes=lktime.getTime(); if(isDescending) { return lktimes - starttimes; } else { return starttimes - lktimes; } } //去除字符串中所有指定的字符串 String.prototype.excludeChars = function(chars){ var matching = new RegExp(chars , "g") ; return this.replace(matching , '') ; } </script>
希望本文所述对大家的javascript程序设计有所帮助。
本文向大家介绍JS实现HTML表格排序功能,包括了JS实现HTML表格排序功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了JavaScript实现HTML表格排序功能,供大家参考,具体内容如下 HTML代码: JavaScirpt代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍js实现常用排序算法,包括了js实现常用排序算法的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了js实现常用排序算法,具体内容如下 1.冒泡排序 2.选择排序 3.插入排序 4.希尔排序 5.归并排序 6.快速排序 总结:算法效率比较: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍JS实现点击表头表格自动排序(含数字、字符串、日期),包括了JS实现点击表头表格自动排序(含数字、字符串、日期)的使用技巧和注意事项,需要的朋友参考一下 效果图如下: Demo演示地址:点击这里 主要的JS代码如下: 完整实例代码 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
本文向大家介绍JavaScript实现表格点击排序的方法,包括了JavaScript实现表格点击排序的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript实现表格点击排序的方法。分享给大家供大家参考。具体分析如下: 这里实现基于JS的表格点击排序效果,可以根据表格内的数据大小自动按顺序排列,股票网站常会见到这种功能。 希望本文所述对大家的javascript程序设计有所
本文向大家介绍C#双向链表LinkedList排序实现方法,包括了C#双向链表LinkedList排序实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#双向链表LinkedList排序实现方法。分享给大家供大家参考。具体如下: 1.函数 打印链表函数PrintLinkedList 和 排序函数SortLinkedList 注:下面代码中的链表每项都是double类型,如果换做其他
本文向大家介绍JS实现简单表格排序操作示例,包括了JS实现简单表格排序操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现简单表格排序操作。分享给大家供大家参考,具体如下: 运行效果: 更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript表格(table)操作技巧大全》、《JavaScript操作DOM技巧总结》、《JavaScript遍历算法