我正在使用jQuery Multiple File Upload Plugin 我有以下内容:
$(function(){ // wait for document to load
$('#attachFiles').MultiFile({
list: '#attList',
STRING: { remove: '<img src="cross.gif" title="Remove this attachment" border="0">' },
afterFileAppend: function(element, value, master_element) {
$(".amount").each(function(){
var i = $(this).attr("i");
var curVal = $("#attachment_" + i).val();
if($("#attachment_" + i).is(":checked") && curVal == "X") {
$("#attachment_" + i).attr("value", value);
$("#attachment_" + i).attr("title", "Attachment " + value + " linked");
aCounter++;
};
});
if(aCounter==0) {
alert("You need to select...");
//Remove should be here
}
}
});
});
如果我添加一个名为test.pdf的文件,那么一个名为test2.pdf的目标是在我的aCounter变量为0时自动删除test2.pdf(这意味着用户没有勾选任何名为attachment_的其他复选框
我似乎无法弄清楚如何只删除添加的文件。 如果我理解正确,我添加的文件的值将添加到id =“attachfiles”,这是一个
<input type="file" name="userfile[]" id="attachFiles" class="file" size="1" accept="pdf|jpg|jpeg">
所以我假设我应该能以某种方式以某种方式删除最近添加的项目。 任何帮助或指导都会很棒。
答案 0 :(得分:0)
我使用的jQuery Multiple File插件不使用某个数组来保存文件集。他们使用了一系列
<input type="file" ... style="position:absolute; left:-3000px;" />
<input type="file" ... style="position:absolute; left:-3000px;" />
用户选择文件后隐藏的元素。显示的输入元素将替换为新元素。您的插件似乎也是如此。你应该能够通过做一些选择器
找到最新的文件$("#mydiv input[type='file']").last()
或类似的东西,并将其从DOM中删除。
您也可以在相应的删除按钮上执行触发(“点击”)。