javascript 实现单击表头排序

//author:leo

<html>
<head>
<title>sort table</title>
<script type="text/javascript">
function sortTable(tgtTable, onCol, hasHeading, asNumber, Descending, skipLastRow)
 {
 tgtTable = document.getElementById(tgtTable);
 if(!onCol) onCol=0;
 if(skipLastRow)
  skipLastRow = 1;
 else
  skipLastRow = 0;
 var i=0;
 if(hasHeading) i=1;
 var nRows = tgtTable.rows.length;
 var t, ele1, ele2;
 for(; i < nRows-1-skipLastRow; i++)
  {
  t=i;
  for(var j=i+1; j < nRows-skipLastRow; j++)
   {
   ele1 = tgtTable.rows[j].cells[onCol].innerText;
   ele2 = tgtTable.rows[t].cells[onCol].innerText;
   if(asNumber)
    {
    ele1 = parseFloat(ele1);
    ele2 = parseFloat(ele2);
    }
   if(!Descending  &&  ele1 < ele2)
    t=j;
   else if(Descending  &&  ele1 > ele2)
    t=j;
   }
  tgtTable.tBodies[0].insertBefore(tgtTable.rows[t], tgtTable.rows[i]);
  }
 }
</script>
</head>
<body>
    <form>
       <fieldset><legend></legend>
  <table id="table1" border="1">
      <tr>
       <th style="cursor:hand" οnclick="sortTable('table1',0,true,'',false,false)">No</th>
       <th style="cursor:hand" οnclick="sortTable('table1',1,true,'',false,false)">id</th>
       <th style="cursor:hand" οnclick="sortTable('table1',2,true,'',false,false)">NAME</th>
   </tr> 
      <tr><td>1</td><td>1000</td><td>enjoy</td></tr>
    <tr><td>2</td><td>1300</td><td>mike</td></tr>
    <tr><td>3</td><td>1600</td><td>jordan</td></tr>
    <tr><td>4</td><td>1500</td><td>scofield</td></tr>
    <tr><td>5</td><td>1200</td><td>bill</td></tr>
  </table>
  </fieldset>
 </form>
</body>
</html> 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值