内容简介:http://stackoverflow.com/questions/14044168/delete-files-programatically-with-jquery-fileupload-basic
我正在使用blueimp文件上传插件(基本版本)来实现多媒体上传.我正在尝试实现功能,允许用户删除排队的文件进行上传.我不知道如何适当地访问文件数组.每次添加回调时,索引为0,文件数组长度为1(仅包含用户单击删除的文件).我添加一个链接为每个文件排队到一个div,这是可点击的,应该删除文件,如果点击.
我的想法是创建一个删除链接与文件的索引,并将其从数组中删除,但由于上述问题,索引是永远不正确的.我也尝试过文件名,但是“on”回调中的文件名始终是第一个被选择上传的文件 – 一些关闭范围我必须弄清楚.
如何以编程方式从上传队列中删除文件?
HTML:
<div id="fileBrowserWrapper"> <form id="myForm" action="#" method="post" enctype="multipart/form-data"> <input id="uploadDocBrowse" type="file" name="files[]" multiple/> </form> </div> <div id="inputFilesBox"></div> <div id="uploadFilesBox"></div>
并且文件上传JavaScript:
$('#myForm').fileupload({ url: "/SomeHandler", dataType: 'html', autoUpload: false, singleFileUploads: false, replaceFileInput: false, add: function (e, data) { console.log("Number of files: " + data.files.length); $.each(data.files, function (index, file) { $('#uploadFilesBox').append("<div class='uploadBox' id='fileDiv_" + file.name + "'><div class='leftEle'><a href='#' id='link_" + index + "' class='removeFile'>Remove</a></div><div class='midEle'>" + file.name + "</div></div>") .on('click', { filename: file.name, files: data.files }, function(event) { var uploadFilesBox = $("#uploadFilesBox"); var remDiv = $("#fileDiv_" + event.data.filename); remDiv.remove(); event.data.files.splice(0, 1); } }); }); data.context = $('#myButton') .click(function () { data.submit(); }); });
我解决了这个这是解决方案的描述:
我找到了我的解决方案,再修改一些.关键是记得我正在回电.所以在删除功能的事件处理程序中,我只是清除了data.files数组,在提交该处理程序时,只有文件数组的长度大于0时才提交.我清理了事件处理函数眼睛更容易HTML不变.
新的JavaScript处理代码:
$('#myForm').fileupload({ url: "/SomeUrl", dataType: 'html', add: function (e, data) { $.each(data.files, function (index, file) { var newFileDiv = $("<div class='uploadBox' id='fileDiv_" + file.name + "'><div class='leftEle'><a href='#' id='link_" + index + "' class='removeFile'>Remove</a></div><div class='midEle'>" + file.name + "</div></div>"); $('#uploadFilesBox').append(newFileDiv); newFileDiv.find('a').on('click', { filename: file.name, files: data.files }, function (event) { event.preventDefault(); var uploadFilesBox = $("#uploadFilesBox"); var remDiv = $(document.getElementById("fileDiv_" + event.data.filename)); remDiv.remove(); data.files.length = 0; //zero out the files array }); data.context = newFileDiv; }); $('#myButton') .click(function () { if (data.files.length > 0) { //only submit if we have something to upload data.submit(); } }); } });
http://stackoverflow.com/questions/14044168/delete-files-programatically-with-jquery-fileupload-basic
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- MySQL删除操作其实是假删除
- C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——删除
- 我用 Python 找出了删除我微信的所有人并将他们自动化删除了
- C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——遍历和删除
- ruby-on-rails-4 – Rails 4:如何从数据库中删除或删除(连接)表表?
- 删除并恢复
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
用户故事与敏捷方法
Mike Cohn / 石永超、张博超 / 清华大学出版社 / 2010-4 / 39.00元
《用户故事与敏捷方法》详细介绍了用户故事与敏捷开发方法的结合,诠释了用户故事的重要价值,用户故事的实践过程,良好用户故事编写准则,如何搜集和整理用户故事,如何排列用户故事的优先级,进而澄清真正适合用户需求的、有价值的功能需求。 《用户故事与敏捷方法》对于软件开发人员、测试人员、需求分析师和管理者,具有实际的指导意义和重要的参考价值。一起来看看 《用户故事与敏捷方法》 这本书的介绍吧!