2013-11-13 7 views
-1

В основном мне удалось снова застрять, пытаясь дублировать DIV и элементы формы с помощью jQuery.Duplicate DIV с полем ввода

Кнопка:

<div class="addNew" id="addSkill">Add Skill <i class="icon-plus"></i></div> 

Div и содержание Я хочу, чтобы дублировать

<div class="row" id="skiller"> 
    <div class="label">Skill</div> 
    <div class="input"><input class="lineput" placeholder="Doing stuff."></div> 
</div> 

Я попытался с помощью метода клонирования, я просто не могу показаться, чтобы создать функционирующую строки кода, будет дублировать его под первым div и сделать его готовым для многократного ввода данных в PHP.

Спасибо!

+0

вы просто хотите, чтобы клонировать элемент и поместить его где-нибудь еще? – Markasoftware

+0

В принципе да! Я пробовал самое очевидное, но кажется, что я делаю что-то неправильно. Это всегда происходит 4 утра, когда я начинаю терять свои мраморы. –

+0

Я хочу клонировать весь #skiller DIV. И поставил его ниже существующего. –

ответ

1

Вы должны clone, а затем append() элемент внутри DIV так:

HTML

<div class="thing"> 
<div class="row" id="skiller"> 
    <div class="label">Skill</div> 
    <div class="input"><input class="lineput" placeholder="Doing stuff."></div> 
</div> 
</div> 

<div class="addNew" id="addSkill">Add Skill <i class="icon-plus"></i></div> 

JQuery

$(document).ready(function(){ 

    $('#addSkill').click(function(){ 
     var thing = $('#skiller').clone();  

     $('.thing').append(thing); 
    }); 

}); 

Открыть jsFiddle Demo....

Примечание: вы должны дать им имена раздельные/сделать это массив для доступа

2

Что-то, как это было бы началом:

$("#addSkill").click(function(e){ 
    e.preventDefault(); 
    var new_skiller = $("#skiller").clone(); 
    new_skiller.attr("id", "skiller-"+$(".row").length); 
    new_skiller.insertAfter(".row:last"); 
}); 
0

Попробуйте это. должно сработать. Примечание: идентификатор не может быть дублирован. следующий код будет дублировать div с id.

$(document).ready(function(){ 
    $('#addSkill').click(function(e) { 
     var skiller = $('#skiller').clone(); 
     $("#skiller").after(skiller); 
    }); 
}); 

Демо:

http://jsfiddle.net/XpN95/

Смежные вопросы