关闭

javascript 实现单击表头排序

标签: javascripttableborderfunctionhtml
458人阅读 评论(0) 收藏 举报
分类:

//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" onclick="sortTable('table1',0,true,'',false,false)">No</th>
       <th style="cursor:hand" onclick="sortTable('table1',1,true,'',false,false)">id</th>
       <th style="cursor:hand" onclick="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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:99291次
    • 积分:1641
    • 等级:
    • 排名:千里之外
    • 原创:50篇
    • 转载:22篇
    • 译文:0篇
    • 评论:26条
    文章分类