2015-08-27 3 views
0

HTML:Как добавить повторяющийся элемент jquery?

<input type="file" name="data[Tolet][images][]" class="span12 tolet_img" id="file" style="width:100%;"/> 

Я хочу добавить дублированный элемент по щелчку класса 'tolet_img'.

Я попытался следующим образом:

$(document).ready(function(){ 
    $('.tolet_img').click(function(){ 
     var htmlString = $(this).clone(); 
     $(this).after(htmlString); 
    });  
}); 

Я ожидаю, что после того, как один клик HTML будет:

<input type="file" name="data[Tolet][images][]" class="span12 tolet_img" id="file" style="width:100%;"/> 
<input type="file" name="data[Tolet][images][]" class="span12 tolet_img" id="file" style="width:100%;"/> 

Но это не работает. Любая помощь будет оценена.

+1

Работает отлично [здесь] (http://jsfiddle.net/v5uyrjtx/)! –

+0

Его работа как ожидалось https://jsfiddle.net/dreamweiver/nv3syj97/ – dreamweiver

+0

вы ожидали, что клонирование произойдет из вновь добавленных элементов? https://jsfiddle.net/dreamweiver/nv3syj97/1/ – dreamweiver

ответ

1

Вы должны использовать это:

var htmlString = $(this).clone(true); 

Параметр true означает, что события, прикрепленные к элементу также будут скопированы. Кроме того, клонированные входы не будут выполнять шаги, определенные событием (по умолчанию оно не установлено).

Here is the JSFiddle demo

+1

отлично! большое спасибо –

0

Он работает, как ожидалось, но я предлагаю связывать событие, как этот

$(document).on('click', '.tolet_img', function() { var htmlString = $(this).clone(); $(this).after(htmlString); });

так скопированной file upload может стрелять событие также

здесь вы working snippet

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