`

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"                                      onblur="javascript:checkServiceRate(this);"name=""maxlength="5" style="width: 60px;"/>%
             <input id="divideRateId" name="divideRate" class="divideRate" onblur="javascript:checkDivideRate(this);" name="" maxlength="5" style="width: 60px;"/>%
 <a href="#" id="delA" onclick="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();
	}


分享到:
评论

相关推荐

    JQuery实现的类似购物商城的购物车

    JQuery Clone 模板来实现商品信息的展示,展现形式可以通过修改模板中的td来确定每一行显示多少个商品信息商品信息使用JSON数据来模拟 同一个产品点击多次,不会重复添加,而是在已有的基础上数量+1, 商品数量...

    jQuery实现html table行Tr的复制、删除、计算功能

    本文实例讲述了jQuery实现html table行Tr的复制、删除、计算功能。分享给大家供大家参考,具体如下: 添加行: function addtr(){ var tr = $(#tb tr).eq(0).clone(); tr.appendTo(#tb); //tr.insertBefore(#tb ...

    jQuery详细教程

    当我们在教程中演示 jQuery 时,会将函数直接添加到 &lt;head&gt; 部分中。不过,把它们放到一个单独的文件中会更好,就像这样(通过 src 属性来引用文件): 实例 &lt;script type="text/javascript" src="jquery.js"&gt; ...

    python入门到高级全栈工程师培训 第3期 附课件代码

    02 jquery循环方法和attr,prop方法 03 jquery模态对话框与clone的应用 04 jqueryCSS操作之offsets,position以及scrolltop 05 jquery事件绑定与事件委托 06 jquery动画效果 07 jquery扩展与插件 08 jquery扩展补充 09...

    千方百计笔试题大全

    35、写clone()方法时,通常都有一行代码,是什么? 11 36、GC 是什么? 为什么要有GC? 11 37、垃圾回收的优点和原理。并考虑2 种回收机制。 11 38、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有...

    java面试宝典

    35、写clone()方法时,通常都有一行代码,是什么? 11 36、GC 是什么? 为什么要有GC? 11 37、垃圾回收的优点和原理。并考虑2 种回收机制。 11 38、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有...

    express-comment:express + ejs构建的简易后台评论系统,实现登录,注册,发帖功能

    实际上可扩展性还是很高的,当前存储数据用的文件之后可以替换MongoDB或者Mysql,还可以添加删除,查找功能,这可以做一个论坛或者商城的评论组件。效果图技术栈node.js + express + ejs + jquery运行方式# clone...

    老男孩第三期Python全栈开发视频教程 零基础系统学习Python开发视频+资料

    ├─(28) 02 python s3 day44 jquery循环方法和attr,prop方法.avi ├─(29) 03 python s3 day44 jquery模态对话框与clone的应用.avi ├─(30) 04 python s3 day44 jqueryCSS操作之offsets,position以及scrolltop.avi...

    J2eeFAST企业级快速开发平台-其他

    11、定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。12、代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。13、服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。14、在线...

    J2eeFAST企业级快速开发平台 v2.0.8

    11、定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 12、代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 13、服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 14、...

Global site tag (gtag.js) - Google Analytics