jquery - 无法在 jquery 中删除克隆

标签 jquery html css

我有一个表单,让用户可以添加或删除一组 html 表单,通过使用 jquery 我可以添加克隆但不能删除添加的表单。这是我的代码:

<div id="parent">
<div class="form-group"><label>Area/Domain:</label><input type="text" name="domain" class="form-control"></div>
<div class="form-group"><label>Current Level:</label><input type="text" name="cLevel" class="form-control"></div>
<div class="form-group"><label>Annual Goal:</label><input type="text" name="aGoal" class="form-control"></div>
<div class="form-group"><label>Remarks:</label><textarea name="remarks" class="form-control" rows="2"></textarea></div>
</div>

我的脚本是:

<div id="clone"></div>
<script>
$(document).ready(function(){
$("#createClone").click(function(){
$("#parent").clone().appendTo("#clone");
});
});
</script>
<script>
$("#deleteClone").click(function(){
$("#parent").clone().remove("#clone");
});
</script>
<button id="createClone" type="button" class="btn btn-info">Add Fields</button>
<button id="deleteClone" type="button" class="btn btn-danger">Delete Fields</button>

最佳答案

我会将 parent 变成一个类,然后使用 $(".parent").remove("#clone .parent:last");

我将 $(".parent").clone() 更改为 $(".parent:first") 的原因是它只克隆 1 parent 每次。

$(document).ready(function() {
  $("#createClone").click(function() {
    var clone = $(".parent:first").clone();
    $("<h5>clone"+$(".parent").length+"</h5>").insertBefore(clone.find(".form-group:first"))
    clone.appendTo("#clone");
  });
});
$("#deleteClone").click(function() {
  $(".parent").remove("#clone .parent:last");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="parent">
  <div class="form-group"><label>Area/Domain:</label><input type="text" name="domain" class="form-control"></div>
  <div class="form-group"><label>Current Level:</label><input type="text" name="cLevel" class="form-control"></div>
  <div class="form-group"><label>Annual Goal:</label><input type="text" name="aGoal" class="form-control"></div>
  <div class="form-group"><label>Remarks:</label><textarea name="remarks" class="form-control" rows="2"></textarea></div>
  <br>
</div>

<div id="clone"></div>
<button id="createClone" type="button" class="btn btn-info">Add Fields</button>
<button id="deleteClone" type="button" class="btn btn-danger">Delete Fields</button>

关于jquery - 无法在 jquery 中删除克隆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44239076/

相关文章:

javascript - 使用 Jquery 的空间场

javascript - HTML5 canvas - 字母居中?

html - 在 mozilla 中,第一个 css keyframe 在你悬停时第二次工作正常,它只是消失了

css - 棘手的 CSS 滚动长度

html - 如何使用 css3 或 svg flex 背景图像的一部分?

jquery - 如何切换显示 :none, display:block

jQuery 工具工具提示 - 更改标题

jquery - 如何保护ajax在没有登录的情况下被使用?

html - 主菜单 html 化

css - 在 div 中安装 iframe