我的脚本是,当用户单击添加按钮,然后在下一个字段中添加按钮隐藏和移除按钮时显示。这是完美的。现在我想要当用户单击“删除”按钮然后自动在当前字段中显示上一个添加按钮时。
请告诉我该怎么做。
这是我的脚本:-
! 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
请先检查并告诉我如何解决此问题
答案 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();
}