После клонирования убрать значение в input. Jquery

lutskboy
На сайте с 22.11.2013
Offline
173
1022

Приветствую

Сделал с помощью Jquery клонирование input https://jsfiddle.net/lutskboy/zbe70aby/

все работает, но не совсем так как мне нужно.

если ввести в поле любое значение, и нажать добавить поле, то новое поле клонируется с етим значением. а мне хотелось бы чтоб было пустым

I2
На сайте с 07.03.2015
Offline
38
#1

Смотрите, должно быть оно

https://jsfiddle.net/zbe70aby/1/

Качественная верстка PSD макетов (/ru/forum/974524)
lutskboy
На сайте с 22.11.2013
Offline
173
#2

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

можно конечно сделать проверку

типа если остался один блок то удалять нельзя

но хотелось бы как то этот поправить

дани мапов
На сайте с 06.09.2012
Offline
204
#3

Сделать такой же блок с элементами, но скрыть его через CSS. Его и клонировать.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
MK
На сайте с 18.08.2005
Offline
126
#4

А клонировать обязательно?


var url_block=$('.wrp-url').html();
$(document).on("click", ".del-field", function(){
$(this).parent().remove();
return false;
}).on("click", ".add-field", function(){
$(this).before('<div>'+url_block+'</div>');
return false;
});
нет
Samail
На сайте с 10.05.2007
Offline
361
#5
vandamme
На сайте с 30.11.2008
Offline
675
#6
Samail:
https://jsfiddle.net/zbe70aby/4/

если верстка поменяется, то будет каша.

Лучше так https://jsfiddle.net/agbsm611/1/

<div class="wrp-urls">
<div class="wrp-url">
<input type="text" class="url" placeholder="ссылка на картинку">
<button class="from-url btn">Загрузить</button>
<a href="#" class="del-field">убрать поле</a>
</div>
</div>
<a href="#" class="add-field">+ добавить поле</a>

$(function() {

var container = $('.wrp-urls');

//копия для копирования, скрываем
container.find('.wrp-url').last().clone().appendTo(container).hide();

//онклик удаление
container.on("click", ".del-field", function(e) {
e.preventDefault();
$(this).parent().remove();
});

//добавить строку
$(document).on('click', '.add-field', function(e) {
e.preventDefault();
container.find('.wrp-url').last().clone().removeAttr('style').appendTo(container).find('input:text').val('');
});

});
Joker-jar
На сайте с 26.08.2010
Offline
154
#7

Единственное, надо еще что-то придумать с именами инпутов.

lutskboy
На сайте с 22.11.2013
Offline
173
#8

всем спасибо

остановился на варианте что посоветовал Marat_Kh

вот тут https://jsfiddle.net/lutskboy/zbe70aby/6/ . может кому пригодится

дани мапов тоже предложил не плохое решение.

хотя я так делал. странно что не вышло. наверно забыл потом показать етот блок. он же скрыт

тут добавил https://jsfiddle.net/lutskboy/zbe70aby/7/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий