帆软填报JS不刷新页面排序表格

  1. //排序的方法,参数为表的id和列  
  2. function sortTable(table, idx) {  
  3.   var otable = document.getElementById(table),  
  4.     otody = otable.tBodies[0],  
  5.     otr = otody.rows,  
  6.     tarr = [];  
  7.   for (var i = 1; i < otr.length; i++) {  
  8.     tarr[i - 1] = otr[i];  
  9.   };  
  10.   
  11.   if (otody.sortCol == idx) {  
  12.     tarr.reverse();  
  13.   } else {  
  14.     tarr.sort(function (tr1, tr2) {  
  15.       var value1 = tr1.cells[idx].innerHTML;  
  16.       var value2 = tr2.cells[idx].innerHTML;  
  17.       if (!isNaN(value1) && !isNaN(value2)) {  
  18.         return value1 - value2;  
  19.       } else {  
  20.         return value1.localeCompare(value2);  
  21.       }  
  22.     })  
  23.   }  
  24.   var fragment = document.createDocumentFragment();  
  25.   for (var i = 0; i < tarr.length; i++) {  
  26.     fragment.appendChild(tarr[i]);  
  27.   };  
  28.   otody.appendChild(fragment);  
  29.   otody.sortCol = idx;  
  30. }  
  31.   
  32.   
  33. //获取到页面中表头,设置点击事件  
  34. $("#r-0-0 td").bind("click",function(){  
  35.     //获取到点击的列  
  36.     var a=$(this).attr("col");  
  37.     //调用排序的方法,进行传值,0是这个表的id,可以通过F12获取到表的id  
  38.     sortTable('0',a);  
  39.         });  
注:$("#r-0-0 td") 表示获取了第一个tr下面的所有td,因为这个页面就一个表格。若页面有别的模块展示,需要进行对应的修改。可以在页面上用F12 来获取到对应的元素。

你可能感兴趣的:(帆软)