下面是我所拥有的jquery代码的一部分,它显示了文件输入和“清除文件”按钮。
var $imagefile = $('<input />')
.attr({
type: 'file',
name: 'imageFile',
class: 'imageFile'
});
$image.append($imagefile);
var $imageclear = $('<input />')
.attr({
type: 'button',
name: 'imageClear',
class: 'imageClear',
value: 'Clear File'
});
$(".imageClear").click(function(event){
event.preventDefault();
$(".imageFile").replaceWith("<input type='file' class='imageFile' />");
});
现在,如果你查看jquery代码的底部,它会显示我正在使用的函数,如果用户点击“清除文件”按钮,它会替换文件输入,这样如果你选择了一个文件,那么想要清除输入,然后通过替换输入来完成此操作。
问题是,我可以说我有两个“imageFile”输入(每个文件输入都包含自己的“清除文件”按钮“并且它们都包含一个文件,然后我想说我只想清除第一个文件输入,当我点击“清除文件”按钮时,它会清除两个文件输入,即使我只想清除一个文件输入。所以我如何编码它以便每个“清除文件”按钮只清除它所属的文件输入到?
答案 0 :(得分:2)
假设输入和按钮位于同一容器(es.div)中,请将该行更改为:
$(this).parent().find(".imageFile").replaceWith("<input type='file' class='imageFile' />");