我有一个包含 5 个文件上传字段和一个“[+] 添加更多文件”链接的表单。通过每次点击显示一个字段,它可以正常工作,但是在我添加附件之后,DOM 结构会发生变化,如下所示,因此当我点击 [+] 添加更多文件时,它会一次显示两个字段(而不是一个)。我不明白为什么
这是HTML结构
这是jQuery代码:
//FETCH THE ARRAY OF 5
var webform_divs = $('.webform-client-form').find('div[id$="-ajax-wrapper"]');
//INITIAL STATE
if (!($("#addmore").length > 0)) {
webform_divs.hide();
webform_divs.first().show();
webform_divs.last().after('<a id="addmore" href=#>'+"[+] Add more files"+'</a>');
}
//FUNCTION CALL
more_upload_fields(webform_divs);
//FUNCTION BODY
function more_upload_fields(field_wrappers) {
$("#addmore").click(function(e) {
e.preventDefault();
field_wrappers.each(function(index) {
if ($(this).is(":hidden")) {
//console.log(index);
//console.log($(this));
$(this).show();
if ($(this).next().is('#addmore')) {
$("#addmore").hide();
}
return false;
}
});
return false;
});
}