我的一片天

我的一片天
posts - 27, comments - 12, trackbacks - 0, articles - 16
   :: 首页 :: 新随笔 :: 联系 ::  :: 管理

TABLE的排序

Posted on 2007-10-16 21:03 xyz 阅读(468) 评论(1)  编辑 收藏 引用 所属分类: DHTML

以前学的冒泡排序法,久不用,差点用错。

 

<script language="vbscript">
    
sub doSort()
       
set ob=window.event.srcElement
       
if ob.tagName<>"TD" then exit sub
       sortDir
=""&ob.getAttribute("sortDir")
       
if sortDir="" then
         sortDir
=1  '第一次点进行升序排列
       else
         sortDir
=-1*clng(sortDir)
       
end if
       idx
=ob.cellIndex
       
do while true
         
if ob.tagName="TABLE" then exit do
         
set ob=ob.parentElement
       
loop
       cnt
=ob.rows.length
       fromIdx
=0
       
for i=fromIdx to cnt-1
          
set trOb1=ob.rows(i)
          cTxt
=trOb1.cells(idx).innerText
          sort
=-1
          
for j=i+1 to cnt-1
             
set trOb2=ob.rows(j)
             cTxt2
=trOb2.cells(idx).innerText
             
if sortDir>0 then
               
if cTxt>cTxt2 then
                  sort
=
                    cTxt
=cTxt2
               
end if
             
else
               
if cTxt<cTxt2 then
                  sort
=
                    cTxt
=cTxt2
               
end if
             
end if
          
next
          
if sort>0 then ob.rows(i).swapNode ob.rows(sort)
       
next
       
set tdOb=ob.rows(fromIdx).cells(idx)
       tdOb.setAttribute 
"sortDir",sortDir
    
end sub

</script>

<table border=1 onclick="doSort">
  
<tr><td>3(1)</td><td>a</td><td></td><td>2007-1-2</td><td>1a</td><td>&nbsp;</td></tr>
  
<tr><td>6(2)</td><td>x</td><td></td><td>2006-5-1</td><td>ab2</td><td>y5t</td></tr>
  
<tr><td>8(3)</td><td>f</td><td></td><td>2007-3-5</td><td>3hgda</td><td>566</td></tr>
  
<tr><td>7(4)</td><td>3</td><td></td><td>2005-10-5</td><td>f5465</td><td>32</td></tr>
  
<tr><td>2(5)</td><td>b</td><td></td><td>2005-2-5</td><td>6dgdf</td><td>77</td></tr>
  
<tr><td>6(6)</td><td>n</td><td></td><td>2008-5-6</td><td>2gda</td><td>2004-5-1</td></tr>
  
<tr><td>2(7)</td><td>u</td><td></td><td>2004-2-10</td><td>1rds</td><td>哈哈</td></tr>
</table>

Feedback

# re: TABLE的排序  回复  更多评论   

2008-11-04 21:18 by vvb
http://www.cnblogs.com/cloudgamer/archive/2008/10/06/1304414.html
试试这个
只有注册用户登录后才能发表评论。