我有一个表单元素,当单击该元素旁边的按钮时需要将其删除。
$('#btnDel').click(function() {
var num = $('#input').prevAll().size();
$('#form div:nth-child('+ num +')').remove();
}
似乎无法正常工作!任何帮助非常感谢。我想我只是选择正确的元素而感到困惑......
编辑:根据要求提供标记:
<div id="form">
<form name="create" method="post" action="create.php">
<input type="hidden" id="id" value="1">
<label for="title">Title</label>
<input name="myusername" type="text" id="myusername"><br /><br />
<div id="input" class="clonedInput">
Question: <input type="text" name="question" id="question" />
<input type="button" id="btnDel" value="Remove question" />
</div>
<div>
<input type="button" id="btnAdd" value="Add another question" />
</div>
<input type="submit" name="submit" value="Create survey">
</form>
</div>
答案 0 :(得分:0)
#btnDel表示您正在寻址id = btnDel的按钮。如果是这种情况,则应该只有一个按钮,因为每个id都必须是唯一的。如果只有一个按钮,那么它旁边应该只有一个元素需要删除。否则,您可以使用click函数的事件部分来捕获event.target并相对于该目标进行工作以进行目标删除。
$(".btnDel").click(function(e){$(this).parent().remove()});
答案 1 :(得分:0)
首先,你需要多个删除按钮,所以给他们一个类,而不是id class="btnDel"
然后使用此代码:
$(".btnDel").click(function(){
$(this).closest("div").remove()
})
答案 2 :(得分:0)
我在other question中解决了有关删除元素和更改计数的问题。您需要的是每个问题的单个“添加问题”按钮和“删除问题”按钮。然后每个问题和“删除问题”按钮需要分配一个类而不是ID!
您可以在其他问题中使用我发布的代码(和工作示例),但实际上您需要在删除按钮上使用实时查询,因为它是动态添加的。
HTML
<div id="input" class="clonedInput">
Question: <input type="text" name="question" class="question" />
<input type="button" class="btnDel" value="Remove question" />
</div>
脚本
$('.btnDel').live('click',function(){
$(this).parent().remove();
})