村里人的IT故事

php mysql ajax c# .net ruby python ubuntu

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" 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> 

阅读更多
个人分类: javascript
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

javascript 实现单击表头排序

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭