- //排序的方法,参数为表的id和列
- function sortTable(table, idx) {
- var otable = document.getElementById(table),
- otody = otable.tBodies[0],
- otr = otody.rows,
- tarr = [];
- for (var i = 1; i < otr.length; i++) {
- tarr[i - 1] = otr[i];
- };
- if (otody.sortCol == idx) {
- tarr.reverse();
- } else {
- tarr.sort(function (tr1, tr2) {
- var value1 = tr1.cells[idx].innerHTML;
- var value2 = tr2.cells[idx].innerHTML;
- if (!isNaN(value1) && !isNaN(value2)) {
- return value1 - value2;
- } else {
- return value1.localeCompare(value2);
- }
- })
- }
- var fragment = document.createDocumentFragment();
- for (var i = 0; i < tarr.length; i++) {
- fragment.appendChild(tarr[i]);
- };
- otody.appendChild(fragment);
- otody.sortCol = idx;
- }
- //获取到页面中表头,设置点击事件
- $("#r-0-0 td").bind("click",function(){
- //获取到点击的列
- var a=$(this).attr("col");
- //调用排序的方法,进行传值,0是这个表的id,可以通过F12获取到表的id
- sortTable('0',a);
- });
注:$("#r-0-0 td") 表示获取了第一个tr下面的所有td,因为这个页面就一个表格。若页面有别的模块展示,需要进行对应的修改。可以在页面上用F12 来获取到对应的元素。