下面是我显示文件输入和“清除文件”按钮的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”输入(每个文件输入包含它自己的“清除文件”按钮“,它们都包含一个文件,然后可以说我想清除第一个文件输入,当我点击“清除文件”按钮时,它清除了两个文件输入,即使我只希望它清除一个文件输入。那么如何编码它,以便每个“清除文件”按钮只清除文件输入属于
可能重复的[如何清除文件输入](HT tp://stackoverflow.com/questions/9617738/how-to-clear-file-input) – 2012-03-08 13:01:01
你不应该为此创建一个新的问题。澄清你的原始一个。你要求的是如何找到相对于另一个节点的某个节点。这取决于您的DOM的实际结构。 jQuery提供了很多DOM遍历方法,你只需要找到合适的。 http://api.jquery.com/category/traversing/ – 2012-03-08 13:01:28
您需要一种方法来识别来自按钮的正确输入,或者遍历DOM或使用其他方法(如独特的类,存储输入的ID作为按钮的'data- *'属性等)。 – 2012-03-08 13:05:13