删除选定的表单元素

时间:2009-11-19 18:04:43

标签: jquery

我有一个表单元素,当单击该元素旁边的按钮时需要将其删除。

   $('#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>

3 个答案:

答案 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();
})