2014-01-03 1 views
3

http://jsfiddle.net/sF5av/1/Append Див более чем один раз с помощью JQuery

я есть

<div id="anettedata"> 
    <div class="lbl">Annette Name</div><div class="txt"><input type="text" /></div> 
    <input type="button" id="mybtn" class="btnAdd" value="Add Another Annette" /> 
</div> 
<div id="otheranettedata"></div> 

и когда «Добавить еще Аннет» нажмите, я хочу разместить один и тот же контент в сНу «anettedata». Я сделал это с помощью следующей JQuery

$(document).ready(function() { 
    var datatoappend='<div class="otherdata">.........<input type="text" /></div>' 
    $('.btnAdd').click(function() { 

     $('#otheranettedata').append(datatoappend); // end append   
    }); 
}); 

enter image description here

Моя проблема заключается в том, что, когда я снова нажмите на вновь созданной кнопке «Добавить еще Аннет» я хочу, чтобы поместить то же самое содержание ниже только что созданный дела. Как я могу переписать этот jquery и html для решения этой проблемы, пожалуйста, помогите мне.

и у меня есть еще один вопрос, когда добавить новый набор DIV, как мы можем удалить «Добавить еще Аннет» кнопку от предыдущих

+1

Помните, что вы добавляете узлы с тем же идентификатором, что и в вашем Fiddle. – Explicat

ответ

4

Используйте событие делегации.

Метод .on() привязывает обработчики событий к выбранному в данный момент набору элементов в объекте jQuery.

Запись: метод .он

$(document).on('click','.btnAdd',function() {   
    $(document).find('.btnAdd').remove(); 
    $('#otheranettedata').append(datatoappend); // end append   
}); 

Updated fiddle here.

Refer this document.

+0

спасибо, и у меня есть еще один вопрос, когда добавляем новый набор div, как мы можем удалить кнопку «Добавить еще одну аннету» из предыдущих – neel

+0

@Parvathiiiii Я отредактировал свой ответ. – Hiral

+0

большое спасибо – neel

3

Вы должны использовать delgation событие с

$(document).on('click', '.btnAdd', function() { 
    $('#otheranettedata').append(datatoappend); // end append   
}); 

DEMO

3

Использование on() для динамически добавленных элементов, таких как,

$(document).on('click','.btnAdd',function() { 
    $('#otheranettedata').append(datatoappend); // end append   
}); 

Demo

Обновлено для удаления ранее добавлена ​​кнопка попробовать это,

$('.btnAdd').length && $('.btnAdd').remove(); 

Updated Demo

+0

спасибо, и у меня есть еще один вопрос, когда мы добавляем новый набор div, как мы можем удалить кнопку «Добавить другую аннету» из предыдущих – neel

+0

просто удалите кнопку '$ ('.btnAdd'). Remove();' , перед добавлением. Или вы можете просто добавить новые элементы и использовать только одну кнопку для добавления, удерживая кнопку вне div. –

1

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

$(document).on('click', '.btnAdd', function() { 
    $('#otheranettedata').append(datatoappend); 
}); 

Выше кода свяжет функцию со всеми элементами с классом «.btnAdd» в документе.

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