JavaScript操作表格进行拖拽排序

 

 

<js-dodo-table-

Drag and Drop JQuery plugin

>

以上插件可对table进行排序,拖动!

 

例如有下面一个样子的id为table的表格:

< table  id ="table"  cellspacing ="0"  cellpadding ="2" >
    
< tr  id ="1" >< td > 1 </ td >< td > One </ td >< td > some text </ td ></ tr >
    
< tr  id ="2" >< td > 2 </ td >< td > Two </ td >< td > some text </ td ></ tr >
    
< tr  id ="3" >< td > 3 </ td >< td > Three </ td >< td > some text </ td ></ tr >
    
< tr  id ="4" >< td > 4 </ td >< td > Four </ td >< td > some text </ td ></ tr >
    
< tr  id ="5" >< td > 5 </ td >< td > Five </ td >< td > some text </ td ></ tr >
    
< tr  id ="6" >< td > 6 </ td >< td > Six </ td >< td > some text </ td ></ tr >
</ table >

 

-使用此方法需先引入jquery.js文件

< script type = " text/javascript " >
$(document).ready(
function () {
    
//  Initialise the table
    $( " #table " ).tableDnD();
});
< / script>

 

-

如此,则能轻松对表格进行排序!

如果需要将排序完成后表格的row id输出排序后的数组,则使用如下方法:

$( ' #table ' ).tableDnD({
        onDrop: 
function (table, row) {
            alert($.tableDnD.serialize());
        }
    });

 

而我在用这个的时候,并不是用的它的排序结果,而是自己手写了一个遍历表格后,取出每一行的id的代码片段。
这段小代码很简单,如下:


        $(document).ready(
function () {

            $(
" #table " ).tableDnD({
                
// 当拖动排序完成后
                onDrop:  function () {
                    
// 获取id为table的元素
                     var  table  =  document.getElementById( " table " );
                    
// 获取table元素所包含的tr元素集合
                     var  tr  =  table.getElementsByTagName( " tr " );
                    
// 遍历所有的tr
                     for  ( var  i  =   0 ; i  <  tr.length; i ++ ) {
                        
// 获取拖动排序结束后新表格中,row id的结果
                         var  rowid  =  tr[i].getAttribute( " id " );
                        alert(rowid);
                    }
                }
            });
            
        });

 

 

 

,zuihou 最后给出这个表格拖动排序的demo。

没有任何技术含量,别人写的插件,仅仅是插件应用的简单介绍而已。让您贱笑了。

 

ExpandedBlockStart.gif JavaScript HTML
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head >
    
< title > JavaScript表格拖动排序 </ title >
    
< script  src ="js/jquery.js"  type ="text/javascript" ></ script >
    
< script  src ="js/tablednd.js"  type ="text/javascript" ></ script >
    
< script  type ="text/javascript" >

        $(document).ready(
function () {

            $(
" #table " ).tableDnD({
                
// 当拖动排序完成后
                onDrop:  function () {
                    
// 获取id为table的元素
                     var  table  =  document.getElementById( " table " );
                    
// 获取table元素所包含的tr元素集合
                     var  tr  =  table.getElementsByTagName( " tr " );
                    
// 遍历所有的tr
                     for  ( var  i  =   0 ; i  <  tr.length; i ++ ) {
                        
// 获取拖动排序结束后新表格中,row id的结果
                         var  rowid  =  tr[i].getAttribute( " id " );
                        alert(
" 排序完成后表格的第  "   +  (i + 1 +   "  行id为 :  "   +  rowid);
                    }
                }
            });

        });

    
    
</ script >
</ head >
< body >

用鼠标移动TR
< br />

< div  style =" margin:100px;" >

    
< table  id ="table"  width ="600"  border ="0" >

            
< tr  id ="row_1"   style ="width:600px; height:20px; background-color:Olive;" >
                
< td  style ="" > 1 </ td >
                
< td > parentElement </ td >
                
< td > moveRow 1 </ td >
                
< td > parentElement </ td >
            
</ tr >
            
< tr  id ="row_2"   style =" width:600px;height:20px; background-color:Green;" >
                
< td  style =" " > 2 </ td >
                
< td > parentElement </ td >
                
< td > moveRow 2 </ td >
                
< td > parentElement </ td >
            
</ tr >
            
< tr  id ="row_3"   style ="width:600px; height:20px; background-color:Gray;" >
                
< td  style =" " > 3 </ td >
                
< td > parentElement </ td >
                
< td > moveRow 3 </ td >
                
< td > parentElement </ td >
            
</ tr >
            
< tr  id ="row_4"   style =" width:600px; height:20px;background-color:Red;" >
                
< td  style =" " > 4 </ td >
                
< td > parentElement </ td >
                
< td > moveRow 4 </ td >
                
< td > parentElement </ td >
            
</ tr >
            
< tr  id ="row_5"   style ="width:600px;  height:20px;background-color:#ccc;" >
                
< td  style ="" > 5 </ td >
                
< td > parentElement </ td >
                
< td > moveRow 5 </ td >
                
< td > parentElement </ td >
            
</ tr >

    
</ table >
    
    
</ div >
    
</ body >
</ html >

 

 

 

 

 

 

转载于:https://www.cnblogs.com/didi/archive/2010/03/22/1691663.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值