使用jQuery在单击时删除父元素

时间:2016-05-18 19:53:58

标签: javascript jquery forms dynamic

我在创建动态表单时遇到问题,用户可以在其中添加和删除文本字段。添加额外字段的功能很好,但删除字段似乎无法正常工作。

我的HTML是:

<div class="formItem" id="members">
  <label for="workgroup">Add Members:</label>
  <br />
  <a href="#" id="addMember">Add another member</a>
  <p>
    <input type="text" name="members[]" placeholder="Enter email" autocomplete="off" />
  </p>
</div>

我的JS:

$('#addMember').on('click', function() {
  $('<p><input type="text" name="members[]" placeholder="Enter email" autocomplete="off" /><a href="#" id="removeMember">Remove</a></p>').appendTo('#members');
  return false;
});

$('#removeMember').on('click', function() {
  $(this).parent().remove();
});

2 个答案:

答案 0 :(得分:3)

您在实际创建元素之前添加了单击侦听器,请使用:

$('#members').on('click', '#removeMember', function() {
  $(this).parent().remove();
});

请参阅这些示例http://api.jquery.com/on/#entry-examples

答案 1 :(得分:1)

尝试使用此

$(document).on('click','#removeMember', function() {
    $(this).parent().remove();
});