jQuery remove()实际上并没有删除DIV中的表单字段

时间:2012-12-15 21:32:21

标签: javascript jquery

这让我有点疯狂,

我有一个带有一组动态div的表单,每个表单都填充了几个表单字段。用户可以删除其中一个div,这样做时我会在容器上调用jQuerys remove方法。

我在firebug中看到容器被销毁并从DOM中删除。但是,当我查看页面的来源时,它仍然存在。

当我发布表单时,应该删除的字段仍在发布!

我想我可以手动将表单字段的名称更改为“hack”,但我在这里遗漏了什么?

这是一个例子

<script language="javascript">
$(document).ready( function(){
    $(".remove").live("click", function(){
       $(this).parents(".container").remove();
   });
});
</script>


<form>

<div class="container">
    <input type="text" name="name_1">
    <a href="" class="remove">Remove</a>
</div>

<div class="container">
    <input type="text" name="name_2">
    <a href="" class="remove">Remove</a>
</div>

<input type="submit">

</form>

2 个答案:

答案 0 :(得分:1)

变化:

$(this).parents(".container").remove();

要:

$(this).closest('form').find(".container").remove();

看起来这就是你的意思。

答案 1 :(得分:1)

这对我有用:http://jsfiddle.net/zBd24/

事件处理程序中的

return false;因此单击带有空href的链接不会重新加载当前页面。

来自小提琴的

编辑代码:

$(document).ready( function(){
    $(".remove").live("click", function(){
       $(this).parents("div.container").eq(0).remove();
        return false;
   });
});​