очистить текстовое поле в клонированном объекте - PullRequest
22 голосов
/ 27 июля 2011

У меня проблемы с очисткой значения текстового поля, созданного из функции jQuery clone .Я просто копирую содержимое add_new_content и добавляю, что последний с add_new_content element.it работает хорошо. Но в случае, если нажать 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');

});

});

Рабочий пример: Здесь

Как я могу это сделать.

Ответы [ 3 ]

75 голосов
/ 27 июля 2011

Вы можете сопоставить клонированный элемент <input> с find () и сбросить его значение с помощью val () :

$('.add_new_content:last').clone()
                          .find("input:text").val("").end()
                          .appendTo('.add_new_content:last');
6 голосов
/ 27 июля 2011

установите значение непосредственно перед или после клонирования.

$(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 голосов
/ 27 июля 2011

удалить значение после его клонирования, например.

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