这让我有点疯狂,
我有一个带有一组动态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>
答案 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;
});
});