用户单击删除按钮时如何获取当前(添加)按钮

时间:2018-10-26 12:18:41

标签: javascript jquery html css

我的脚本是,当用户单击添加按钮,然后在下一个字段中添加按钮隐藏和移除按钮时显示。这是完美的。现在我想要当用户单击“删除”按钮然后自动在当前字段中显示上一个添加按钮时。

请告诉我该怎么做。

这是我的脚本:-

 ! function(a) {
"use strict";
a(function() {
    var b = a(".wpcf7-field-groups");
    b.length && (b.each(function() {
        a(this).data("group-model", a(this).find(".wpcf7-field-group").eq(0).clone())
    }), a("body").on("wpcf7-field-groups/change", ".wpcf7-field-groups", function() {
        var b = a(this).find(".wpcf7-field-group");
        b.each(function(b) {
            a(this).find(".wpcf7-field-group-remove").toggle(b > 0);

            var c = b + 1;
            a(this).find("[name]").each(function() {

                var b = a(this),
                    d = b.closest(".wpcf7-form-control-wrap"),
                    e = b.attr("name"),
                    f = e.indexOf("[]") > -1,
                    g = e.replace("[]", ""),
                    h = g.replace(/__[0-9]*/, "") + "__" + c;
                d.length && !d.hasClass(h) && d.removeClass(g).addClass(h), h += f ? "[]" : "", b.attr("name", h)
            })
        }), a(this).find(".wpcf7-field-group-count").val(b.length)
    }), b.trigger("wpcf7-field-groups/change"), a("body").on("click", ".wpcf7-field-group-add, .wpcf7-field-group-remove", function(e) {
        var b = a(this),
            c = b.closest(".wpcf7-field-groups");
        if (b.hasClass("wpcf7-field-group-add")) {
              e.currentTarget.style.display = "none"; //ADD THIS LINE
            var d = c.data("group-model").clone();
            c.append(d), b.trigger("wpcf7-field-groups/added");
        } else b.trigger("wpcf7-field-groups/removed"), b.closest(".wpcf7-field-group").remove();

        return c.trigger("wpcf7-field-groups/change"), !1
    }))
})
}(jQuery);

这是实时代码链接:-https://codepen.io/anon/pen/ZqwORX

请先检查并告诉我如何解决此问题

1 个答案:

答案 0 :(得分:1)

您可以使用jQuery进行此操作:

$("#remove").hide();
var num = 0;

$("#add").click(function() {
  $("#remove").show();
  num += 1;
  var element = document.createElement("div");
  element.setAttribute("id", num);
  element.setAttribute("class", "wpcf7-field-group");
  element.innerHTML = '<div class="col-md-6 col-sm-6 col-xs-12"><label>Test Held<br><span class="wpcf7-form-control-wrap certification-held__1"><input type="text" name="certification-held__1" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" aria-invalid="false"></span></label></div><div class="col-md-6 col-sm-6 col-xs-12"><label>Date:<br><span class="wpcf7-form-control-wrap certificate-date__1"><input type="date" name="certificate-date__1" value="" class="wpcf7-form-control wpcf7-date wpcf7-validates-as-required wpcf7-validates-as-date" aria-required="true" aria-invalid="false"></span></label>';
  document.getElementById("results").appendChild(element);
});
$("#remove").click(function() {
  if ((num - 1) === 0) {
    $("#remove").hide();
  }
  document.getElementById(num).remove();
  num += -1;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="results">
  
</div>

<button id="add">Add</button>
<button id="remove">Remove</button>

在这里,jQuery正在设置事件侦听器。当用户单击任一按钮时,它将切换按钮。这是jQuery功能的说明:

.hide()

隐藏所选元素。

.show()

显示选定的元素。

.toggle()

在隐藏和显示之间切换所选元素。

.toggle()与:

if ($(element).is(":visible")) {
    $(element).hide();
} else if ($(element).is(":hidden")) {
    $(element).show();
}