我创建了一个用户可以添加测试的字段。这一切运行顺利我只希望当用户点击(添加另一个测试)然后上一个(添加另一个测试)删除并且这个显示在新字段中。
所有运行良好的唯一问题是点击(添加另一个字段)之前添加另一个字段不隐藏而且我希望当用户点击(删除)之前隐藏添加另一个字段时自动显示。
请检查我的代码谢谢。
! 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() {
var b = a(this),
c = b.closest(".wpcf7-field-groups");
if (b.hasClass("wpcf7-field-group-add")) {
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
提前致谢
最佳答案
只需将此添加到将点击绑定(bind)到元素的函数中即可:
e.currentTarget.style.display = "none";
并将e
作为函数的参数发送。
是这样的:
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");
}
关于javascript - 如何在单击添加时隐藏最后一次单击(添加)按钮以及当用户单击删除按钮然后显示上一个隐藏(添加)按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53006415/