我想开发一个文件夹和文件树,通过文件夹拖放上传。
例子:
对于拖放上传,我资助 jQuery File Upload .
基本代码是:
$('#fileupload').fileupload({
dataType: 'json',
url: 'php/index.php',
dropZone: $(document),
done: function (e, data) {
$.each(data.result, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
}
});
在我的项目中,我有多个放置区(我的文件夹),例如:
<ul>
<li>Bookmarks</li>
<li>Search</li>
<li>Web dev</li>
...
</ul>
如何更改上面的代码以处理带有 id、class 和 jQuery 选择器的多拖放区?
我试过类似的东西,但显然它不起作用:
<ul>
<li id="folder1" class="folder">Bookmarks</li>
<li id="folder2" class="folder">Search</li>
<li id="folder3" class="folder">Web dev</li>
...
</ul>
.
$('.folder').fileupload({
dataType: 'json',
url: 'php/index.php',
dropZone: $('.folder'),
done: function (e, data) {
$.each(data.result, function (index, file) {
$('<p/>').text($(this).attr(id)).appendTo(document.body);
});
}
});
问题:
- 上传完成 3 次。
- $(this) 不存在。
最佳答案
我和同事一起找到了解决方案。
其实并不复杂:
$('.folder').each(function(){
var $this = $(this);
$this.fileupload({
dataType: 'json',
url: 'php/index.php',
dropZone: $this,
done: function (e, data) {
$.each(data.result, function (index, file) {
$('<p/>').text($this.attr('id')).appendTo(document.body);
});
}
});
});
编辑:糟糕,这个答案在 the documentation 中.
关于javascript - jQuery : a drag-and-drop upload with multi dropzone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8616498/