2014-01-30 131 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); 

,当然还有,删除你在哪里重置所有的文本输入''