我想通过文件夹上的拖放上传来开发文件夹和文件树.
例:
对于拖放上传,我资助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); }); } });
在我的项目中,我有多个dropzone(我的文件夹),例如:
<ul> <li>Bookmarks</li> <li>Search</li> <li>Web dev</li> ... </ul>
如何更改上面的代码来处理带有id,class和jQuery选择器的多dropzone?
我试过这样的东西,但显然它不起作用:
<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',dropZone: $('.folder'),file) { $('<p/>').text($(this).attr(id)).appendTo(document.body); }); } });
问题:
>上传完成3次.
> $(this)不存在.
解决方法
我找到了一位同事的解决方案.
实际上并不复杂:
$('.folder').each(function(){ var $this = $(this); $this.fileupload({ dataType: 'json',dropZone: $this,data) { $.each(data.result,file) { $('<p/>').text($this.attr('id')).appendTo(document.body); }); } }); });
编辑:我的不好,这个答案是在the documentation.