jquery clone方法实现动态增加行和删除行

 

//待克隆的div
<div class="serviceList-sel-body">
	<div id="serviceId0"   name="divName" >		
	     <select id="service_select_id"  name="serviceId" class="serviceSelect"  style="width: 100px;"> </select>
             <input id="serviceRateId" name="serviceRate" class="serviceRate"                                      οnblur="javascript:checkServiceRate(this);"name=""maxlength="5" style="width: 60px;"/>%
             <input id="divideRateId" name="divideRate" class="divideRate" οnblur="javascript:checkDivideRate(this);" name="" maxlength="5" style="width: 60px;"/>%
 <a href="#" id="delA" οnclick="return false;" title="删除"  class="delRow_Link" ></a>
			   			
</div>	
				




 js代码

//动态添加行	
function addRow(service_id,service_rate,divide_rate,flag){	
        var idNum;//计数标识
	  var row1;	  
		
	     	row1=$("#serviceId"+(idNum-1));//获得第一行 -----修改(显示)	-- 设置jquery对象(待克隆的div)
	     
	   //如果row1为空
	   if(row1.length==0){										
			idNum=1;				
			row1=$("#serviceId"+(idNum-1));									
		}	  	
	  var newRow=row1.clone(true);//创建第一行的一个副本
	  // newRow.insertBefore(row1);//在第一行前插入
	  newRow.insertAfter(row1);//在第一行后插入	  
	  var rndID="serviceId"+idNum;	  
	  newRow.attr("id",rndID);//设置行ID 每次都不一样 
	  
         //给各个 select input 加上不同的id
	  newRow.find("a").attr("id",rndID);
	  newRow.find("select.serviceSelect").attr("id","serviceSelect"+rndID);
	  newRow.find("input.serviceRate").attr("id","serviceRate"+rndID);
	  newRow.find("input.divideRate").attr("id","divideRate"+rndID);
	  //初始值为空
	  $("#serviceRate"+rndID).val("");
	  $("#divideRate"+rndID).val("");
	  //绑定事件
	  newRow.find("input.divideRate").blur(function(){
	  	checkDivideRate(this);
	  	});
	  newRow.find("input.serviceRate").blur(function(){
	  	checkServiceRate(this);
	  	});	  
	  
	  //给新增的每一行内的删除加上删除事件
	  newRow.find("a").click(function(){
               delRow(this);
      
     });
      // 新加行显示删除按键
       newRow.find("a").html(" <span style='color: blue;'>删除</span>");
     
     //修改时候用到
    if(flag==2){
     newRow.find("select.serviceSelect").val(service_id);
     newRow.find("input.serviceRate").val(service_rate);
     newRow.find("input.divideRate").val(divide_rate);    
    } 
    //查看时候用到
    if(flag==3){
     //alert(service_id+" | "+service_rate+" | "+divide_rate); 
     newRow.find("select.serviceSelect_view").val(service_id);
     newRow.find("input.serviceRate_view").val(service_rate);
     newRow.find("input.divideRate_view").val(divide_rate);    
    } 
 //显示克隆出的新行数据
  newRow.show();
     idNum++;//克隆一次加一次
}	



//动态删除行
function delRow(who) {
		$("#" + who.id).remove();
	}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值