2011-07-27 64 views
19

我無法清除從jQuery clone函數創建的文本字段值。 我只是複製add_new_content內容並將其添加到最後一個add_new_content元素中。這樣做的效果很好。但是如果在文本字段中輸入一些文本後點擊add_new_box,則意味着。它克隆與輸入值。但我想要新鮮的文本字段。克隆對象中的明文字段值

標記

<div class="add_new_content"> 
<div class="add_new_box">ADD NEW</div> 
<input type="text" value="" /> 
</div> 

腳本

$(document).ready(function(){ 

$(".add_new_box").live('click',function(){ 

$('.add_new_content:last').clone().appendTo('.add_new_content:last'); 

}); 

}); 

工作實例是Here

我怎樣才能做到這一點。

回答

56

您可以find()克隆<input>元素相匹配,並與val()重置其價值:

$('.add_new_content:last').clone() 
          .find("input:text").val("").end() 
          .appendTo('.add_new_content:last'); 
+3

end()....哇感謝教我新的東西今天! – Pinch

+0

謝謝。剛剛瞭解了end()。 – lightup

+0

謝謝.end()爲我做了訣竅。但是如果我想克隆selectlist(select),如何刪除它的選項呢? –

4

設定值權之前或之後,你克隆它。

$(document).ready(function(){ 

$(".add_new_box").live('click',function(){ 

var clone = $('.add_new_content:last').clone(); 
clone.find("input").val(""); 
clone.appendTo('.add_new_content:last'); 

}); 

}); 
0

刪除克隆它後的值例如。

var $clone = $('.add_new_content:last').clone(); 
$clone.find('input').val(''); 
$clone.appendTo('.add_new_content:last');