当我使用多个输入文件时,“删除”按钮仅在第一次输入时起作用。目的是能够使用多个输入,而其中一个动作不改变其余输入。似乎代码没有看到输入的不同ID。如何让他们查看正在更改的输入,并注意每个输入的ID?
iconNameList.addAll(getCamEval(this));
function bs_input_file() {
$(".input-file").find('input').each(function (index, dom) {
var id = dom.id;
$("#" + id).parent().find("button.btn-reset").addClass("hidden");
$(".input-file").before(
function () {
if (!$(this).prev().hasClass('input-ghost')) {
var element = $("<input type='file' id='" + id + "' class='input-ghost' style='visibility:hidden; height:0'>");
element.attr("name", $(this).attr("name"));
element.change(function () {
element.next(element).find('input').val((element.val()).split('\\').pop());
});
$(this).find("button.btn-choose").click(function () {
element.click();
});
$(this).find("button.btn-reset").click(function () {
element.val(null);
$(this).parents(".input-file").find('input').val('');
bs_input_file();
});
$(this).find('input').css("cursor", "pointer");
$(this).find('input').mousedown(function () {
$(this).parents('.input-file').prev().click();
return false;
});
console.log(element)
return element;
}
}
);
$("#" + id).change(function () {
var element = $("#" + id);
if (element.val() != "") {
$("#" + id).parent().find("button.btn-reset").removeClass("hidden");
} else {
$("#" + id).parent().find("button.btn-reset").addClass("hidden");
}
})
})
}
bs_input_file();
答案 0 :(得分:0)
我不太了解,但是如果您通过click事件调用函数,则可以传入事件对象。它具有一个名为target的属性,该属性具有一个名为id
的属性function clicked(event){
console.log(event.target.id)
}