Я хочу удалить определенную клонированную форму.
У меня есть одна таблица и кнопка, и когда вы нажимаете на кнопку, она клонирует таблицу, теперь я хочу удалить конкретную таблицу, клонированную ранее.
Я пытаюсь это сделать, но он не работает, что я делаю неправильно?
Благодарю.
Вот мой код:
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<html>
<head>
<script type='text/javascript'>
$(window).load(function(){
$('.remove').click( function() {
$(this).parents(".addforms:last").remove();
event.preventDefault();
});
$('.clone').on('click', function(e){
$(".addforms:last").clone().find("input[type='text']").val('').end().insertBefore($(".addforms:first"));
event.preventDefault();
});
});
</script>
</head>
</body>
<form class='cform' method="POST">
<table border='0' style='background: #1D7373; border-bottom: 1px solid #2e9c9c; color:white; width:100%;'>
<tr class="addforms">
<td><input class='txtedit' placeholder='Name' type='text' name='Name' maxlength='130' /></td>
<td><a class="remove">[X]</a></td>
</tr>
<input style='width: 60px;' type='submit' class='clone' value='+' />
</table>
</form>
</body>
</html>
Вы должны использовать делегирование делегирования для обработки элементов, добавленных после загрузки окна:
$("table").on("click", ".remove", function (e) {
e.preventDefault();
$(this).parents(".addforms:last").remove();
});
Вместо:
<input style='width: 60px;' type='submit' class='clone' value='+' />
Используйте это: Изменение времени ввода на кнопку
<input style='width: 60px;' type='button' class='clone' value='+' />
Полный код:
$(function () {
$('.remove').click(function (event) {
event.preventDefault();
$(this).parents(".addforms:last").remove();
});
$('.clone').click(function () {
$(".addforms:last").clone().find("input[type='text']").val('').end().insertBefore($(".addforms:first"));
});
});