2014-01-30 104 views
0

當我嘗試使用值輸入的克隆錶行時,它複製但輸入了鬆散值。如何克隆具有值的錶行。當克隆jQuery時鬆動輸入值

Example online

<table class="table table-bordered table-striped"> 
     <tr> 
     <th>Service</th> 
     <th>Price</th> 
     <th>Quantity</th> 
     <th>&nbsp;</th> 
     </tr> 

    <tr class="tr_clone"> 
    <td><input type="text" ></td> 
    <td><span class="controls"> 
     <input value="100000" class="placeholder span2 datepicker" type="text" value="" data-date-format="yyyy-mm-dd"> 
     </span></td> 
    <td><span class="controls"> 
     <input class="placeholder span2 datepicker" type="text" value="" data-date-format="yyyy-mm-dd"> 
     </span></td> 
    <td>&nbsp;</td> 
    </tr> 
</table> 
<p><a href="#" class="tr_clone_add">Clone</a></p> 

$(function(){ 
$(".tr_clone_add").live('click', function() { 
    var $tr = $('table').find('.tr_clone').first(); 
    var $clone = $tr.clone(); 
    $clone.find(':text').val(''); 
    $tr.after($clone); 
}); 
}); 
+1

你知道你的價值明確設置爲空字符串的行? – adeneo

回答

0

您需要刪除$clone.find(':text').val('');。使用:通過指定參數

$(function(){ 
$(".tr_clone_add").live('click', function() { 
var $tr = $('table').find('.tr_clone').first(); 
var $clone = $tr.clone(); 
$tr.after($clone); 
}); 
}); 

Working Fiddle

1

做一次深層副本clone()true。這將用數據克隆元素,並且任何事件綁定都是完整的。

var $clone = $tr.clone(true); 

,當然還有,刪除你在哪裏重置所有的文本輸入''