我制作了一个feilds,用户可以在其中添加测试。这一切都运行得很顺利,我只想当用户点击(添加另一个测试(,然后点击上一个(添加另个测试(删除,并在新字段中显示。
所有运行良好的唯一问题是,点击(添加另一个字段(之前添加另一字段不隐藏,而且我希望当用户点击(删除(之前隐藏添加另一域时自动显示。
请检查我的代码谢谢。
! 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
提前感谢
只需将其添加到您的函数中,即可将点击绑定到元素:
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");
}