2016-06-13 137 views
1

我克隆了一个表格,但它也是对输入值进行了修饰。这里是HTML表单克隆表格没有克隆输入值

<form role="form" method="post" action="<?php echo base_url(); ?>staff_activity/add_ftth" enctype="multipart/form-data" > 

      <div id="main"> 
      <div class="col-md-12"> 
       <div class="form-group col-md-4"> 
        <label>Client's Name</label> 
        <input type="text" class="form-control" name="client_name[]" placeholder="Client's Name" id="client_name" autofocus required/> 
       </div> 


     <div class="form-group col-md-4"> 
        <label>Phone Number</label> 
        <input type="text" class="form-control" name="phone_number[]" placeholder="Phone Number" id="phone_number"/> 
       </div> 
       <div class="col-md-4"> 
        <label>Package</label> 
        <select class="form-control" name="package[]" > 
         <option selected=""> 


         </option> 

        </select> 
       </div> 

      </div> 



      <div class="col-md-12"> 
       <div class="form-group col-md-6"> 
       <label>Remarks</label> 
       <textarea name="remarks[]" class="form-control" placeholder="remarks" ></textarea> 
       </div> 
      </div> 
      </div> 

      <div class="col-md-12 buttonbox"> 
       <div class="pull-left"> 
       <button type="button" class="btn btn-success add" >ADD +</button> 
       <button type="button" class="btn btn-danger remove" >DEL -</button> 
       </div> 
      </div> 
<div class="col-md-12"> 
       <div class="pull-right"> 
        <input type="submit" class="btn btn-success btn-xm submit" name="submit" value="Submit" /> 
       </div> 
      </div> 

     </form> 

而且是我的脚本进行克隆如下

$(document).ready(function() { 
    var i = 0; 
    var last12 = $('.buttonbox').last(); 
    $(document).on('click', '.add', function() { 
     var clone = $('#main').last().clone().attr("id", "main" + i++).insertBefore(last12); 

     //clone.id = "main" + i; 

    }); 

    $(".remove").click(function(){ 
      $("#main:last").remove(); 
    }); 
}); 

虽然克隆形式的值也被克隆的划分。 你可以在JSFiddle中检查这段代码。 https://jsfiddle.net/szn0007/yoebgocq/

+0

更好地去生成一个模板,附加到窗体,然后克隆,然后清空输入 – madalinivascu

回答

4

尝试下列步骤:复位输入和使用val('')对于选择textarea的,我们将选择在选择(默认的)第一元素

var clone = $('#main').clone().find("input,textarea").val("").end().find('select option:first-child()').attr('selected','selected').end().attr("id", "main" + i++).insertBefore(last12); 

删除使用:

$(".remove").click(function(){ 
      $('div[id^="main"]:last').remove(); 
    }); 

demo

+0

谢谢.. @madalin ivascu –

+0

如何禁用删除按钮,如果只有一种形式? –

+0

@SujanShrestha if($('div [id^=“main”]:last').SuiteShrestha使用一个if if – madalinivascu

1

更新

$(function(){ 
    var i = 0; 
    var last12 = $('.buttonbox').last(); 
    $(document).on('click', '.add', function() { 

    var clone = $('#main').clone(); 
clone.find("input").val(""); 
clone.find("textarea").val(""); 
clone.find('select option:first-child()'); 
clone.attr("id", "main" + i++).insertBefore(last12); 



     //clone.id = "main" + i; 

    }); 

    $(".remove").click(function(){ 

    $('.main:last').remove(); 
    }); 
}); 

做参考https://plnkr.co/edit/EvOaLL1mQYB8yf6NDpby?p=preview

+0

怎么样的选择,该值保持不变? – madalinivascu

+0

请再次检查plunker我更新 –

+0

谢谢你们两位...我也有删除问题。你能检查我的代码吗? –