Dynamic Add Row Via JQuery

需求:本文应用主要是使用Jquery,进行Table的动态添加列。

涉及技术:JQuery、JSON、Asp.Net

1.希望数据是动态可以添加的;

2.希望数据序列列名(Name,Email)是动态的,可定制的。

最初画面:                                                 最终画面:

image    ===》image

Html 代码:

 

< table  id ="tbContent" >  
       
< tr >  
           
< td >  
               1 
           
</ td >  
       
</ tr >  
       
< tr >  
           
< td >  
               2 
           
</ td >  
       
</ tr >  
       
< tr >  
           
< td >  
               3 
           
</ td >  
       
</ tr >  
   
</ table >

 

JQuery代码:

1.希望数据是动态可以添加的

---我们采用JSON结构

因为数据可能是在HTML中直接构建,也可以从后台生成(即Entity转换成JSON),比较灵活。所以选用JSON。

以下为JSON数据:

 

var  UserList  =  [ 
   {  " UserID " 1 " Name " : {  " FirstName " " Rico " " LastName " " Rui "  },  " Email " " rico◎hotmail.com "  }, 
   {  " UserID " 2 " Name " : {  " FirstName " " XXX " " LastName " " YYY "  },  " Email " " xxx◎hotmail.com "  }, 
   {  " UserID " 3 " Name " : {  " FirstName " " ZZZ " " LastName " " AAA "  },  " Email " " YYY◎hotmail.com "  } 
               ];

 

 

 

2.希望数据序列列名(Name,Email)是动态的,可定制的。

---Ohh,这个想法不错。因为可以动态并可定制的,我们可以针对自已需求即时选用不同选项进行动态显示数据列。

如:在页面上放一个DropDownList设置 Option1:显示1-2项 、Option:显示2-4项  etc..

配置列:

 

var  list1  =  [ " Name.FirstName " " Name.LastName " ];   针对Option1的配置

var  list2  =  [ " Name.FirstName " " Name.LastName " " Email " ];   针对Option2的配置

 

以此类配。

好了,差不多。最后附上完整代码

代码:

 

< script language = " javascript "  type = " text/javascript " >  
        $( function () { 
            
var  UserList  =  [ 
                    {  " UserID " 1 " Name " : {  " FirstName " " Rico " " LastName " " Rui "  },  " Email " " rico◎hotmail.com "  }, 
                    {  " UserID " 2 " Name " : {  " FirstName " " XXX " " LastName " " YYY "  },  " Email " " xxx◎hotmail.com "  }, 
                    {  " UserID " 3 " Name " : {  " FirstName " " ZZZ " " LastName " " AAA "  },  " Email " " YYY◎hotmail.com "  } 
                    ]; 

      $( ' #tbContent ' ).find( ' tr ' ).each( function (i) { 
                
// 获取基列的tr对象 
                 var  tr  =  $( this ); 
                
// 找到第一列td的值 
                 var  tdFirstTxt  =  tr.find( " td:first " ).text(); 
                
// 获取Json中UserID的值 
                 var  userID  =  UserList[i].UserID; 
                
// 配置用于显示的List模板列 
                 var  list  =  [ " Name.FirstName " " Name.LastName " ]; 
                
// 判断第一列的td值是否与UserID的相对应 
                 if  (tdFirstTxt  ==  userID) { 
                    
// 循环List模板列 
                    $.each(list,  function (j) { 
                        
// 使用eval用于数组对象转换成JSon的对象。 
                         var  element  =  eval( " UserList[i]. "   +  list[j]); 
                        
// 动态添加列,element为动态配置(所属第一列值)其他的值 
                        tr.append( " <td> "   +  element  +   " </td> " ); 
                    }); 
                } 
             }); 
        }); 

< / script>

 

显示最终画面

image

 

Oh,还有有关于从后台生成数据转换JSON可以参见JSON IN Code.

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值