我做一个用户可以在其中添加测试的领域。当用户单击(添加另一个测试)然后删除上一个(添加另一个测试)并在新字段中显示时,这一切都可以顺利进行。
所有运行良好的唯一问题是,单击(添加另一个字段)上一个不会隐藏其他字段,并且我也希望用户单击(删除)先前的隐藏时添加另一个自动显示字段。
请检查我的验证码。
! 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
预先感谢
答案 0 :(得分:0)
只需将此添加到您的函数中,即可将点击绑定到元素:
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");
}