Php 删除所有附加元素的jquery
我正在尝试编写一个待办事项列表表单。此表单可以包含无限行。每行包含一个文本输入字段,旁边有两个按钮。其中一个按钮在下面添加新行,第二个按钮删除该行 问题是,当我多次单击“添加”按钮时,当我单击该行的“删除”图标时,它会删除在其下方添加的所有元素 我希望我说的有道理,也许代码会解释发生了什么 以下是todo列表表单页面的PHP代码:Php 删除所有附加元素的jquery,php,jquery,Php,Jquery,我正在尝试编写一个待办事项列表表单。此表单可以包含无限行。每行包含一个文本输入字段,旁边有两个按钮。其中一个按钮在下面添加新行,第二个按钮删除该行 问题是,当我多次单击“添加”按钮时,当我单击该行的“删除”图标时,它会删除在其下方添加的所有元素 我希望我说的有道理,也许代码会解释发生了什么 以下是todo列表表单页面的PHP代码: <div class="table table-todo"> <?php include 'projects-add-task.php';
<div class="table table-todo">
<?php include 'projects-add-task.php'; ?>
</div>
以下是无法100%正确运行的jquery:
$('.todo-add').live('click', function (e) {
e.preventDefault();
$parent = $(this).parent('.field');
$.get('projects-add-task.php?show_delete=yes', function (data) { $parent.append(data); }, 'html');
});
$('.todo-delete').live('click', function (e) {
e.preventDefault();
$(this).parent('.field').remove();
});
我不得不使用live
作为.todo add
图标,因为它对于新添加的行显然不起作用。但是,我不确定这是否是.todo delete
图标所必需的,但我这样做只是为了确定
在此问题上,如有任何帮助,我们将不胜感激。我认为您需要在
之后添加,而不是附加:
function (data) { $parent.append(data); }
应该是
function (data) { $parent.after(data); }
而且,live
现在实际上已经被弃用了。您应该在
上使用,您正在用类“field”添加许多div,然后在delete按钮上请求jquery删除它们
您需要为每一行指定唯一的ID,然后删除该ID元素,操作系统只需使用delete按钮的父项,无需在父项()中指定“.field”
尝试在
上使用,无效live
工作正常,并且
之后的功能发挥了作用。可能您使用的是较旧版本的jQuery,无论如何,您得到了所需的:)不,我不需要唯一的id,使用parent
功能可以找到所单击元素的父元素并相应地将其删除。问题是我使用的是append
,而不是上面提到的after
。
function (data) { $parent.after(data); }
$('.todo-delete').live('click', function (e) {
e.preventDefault();
$(this).parent().remove();
});