Клонирование элемента с дочерним файлом ввода и его очистка - PullRequest
0 голосов
/ 08 апреля 2011

Ссылаясь на этот вопрос Мне нужно решение для него:

HTML:

<input type="file" />
<span id="add-more-files">Add more</span>

jQuery:

$('#add-more-files').click(function()
{
   var cloned = $(this).prev().clone();
   $(cloned).insertBefore($(this));
});

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

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

Принимая HTML:

<div class="wrap"><input type="file" /></div>
<span id="add-more-files">Add more</span>

Вы можете сделать:

$('#add-more-files').click(function(){
    $("<div>", {class:"wrap"}) //Create a div
        .append($("<input>", {type:'file'})) //Add an input element
        .insertBefore(this); //Insert it into the DOM
});

Это создает новую структуру тега div и input, а затем вставляет ее в DOM до кликабельного диапазона. См. здесь для рабочего примера.

Примечание: он не вставляет новый вход в тот же div. Если вы этого хотели, посмотрите ответ @ jAX.

0 голосов
/ 08 апреля 2011
$('#add-more-files').click(function()
{
   $('<input type="file" />').insertBefore($(this));
});
...