我正在使用http://www.dropzonejs.com/(dropzone.js)库。我已将我的一个表单元素初始化为
var drop = $("#upload").dropzone({
uploadMultiple: "true",
addRemoveLinks: "true",
thumbnailWidth: "250",
thumbnailHeight: "250",
maxFilesize: "10",
headers: {
"title": titles,
"location": locations,
"tag": tags
}
});
现在,当用户点击<button id="close"></button>
按钮时,我想使用drop.removeAllFiles(true)
功能清空整个列表,如Dropzone.js官方网站所示。
所以,我尝试使用
$("#close").click(function(){
drop.removeAllFiles(true);
});
但它不起作用,在console.log
我收到错误removeAllFiles() is not declared for drop
。
我哪里错了?
答案 0 :(得分:48)
这对我有用。
Dropzone.forElement("#YourDropBoxId").removeAllFiles(true);
答案 1 :(得分:9)
这是代码,它将解决您的问题。
$(function() {
Dropzone.options.myAwesomeDropzone = {
init: function () {
var myDropZone = this;
$("#btnRemoveAll").click(function () {
myDropZone.removeAllFiles();
}
);
}
};
});
答案 2 :(得分:4)
您的drop
正在引用jQuery对象而不是Dropzone对象。
var drop = $("#upload").dropzone(options);
有时需要将jQuery(selector [,context])与dropzone一起使用。所以非jquery构造函数不那么方便。
var drop = new Dropzone(selector, options);
相反,您可以使用(丑陋的)获取Dropzone对象:
var drop = $("#upload").dropzone(options).get(0).dropzone;
$("#close").click(function(){
drop.removeAllFiles(true);
});
答案 3 :(得分:1)
这是有效的......请试试这个。
$("#close").click(function(){
drop.removeAllFiles(true);
});
$("#upload").dropzone({
uploadMultiple: "true",
addRemoveLinks: "true",
thumbnailWidth: "250",
thumbnailHeight: "250",
maxFilesize: "10",
headers: {
"title": titles,
"location": locations,
"tag": tags
},
init: function () {
var dropzone = this;
$("#close").click(function(){
dropzone.removeAllFiles(true);
});
}
});
答案 4 :(得分:0)
试试这个。这还包括对服务器的JSON调用以删除文件。
mydropzone = new Dropzone("#mydropzone",{
url: "/dropzone",
addRemoveLinks : true,
maxFilesize: 2.0,
dictResponseError: 'Error uploading file!',
removedfile: function(file) {
var name = {file: file.name}
$.ajax({
type: 'POST',
url: '/dropzone_delete',
contentType: 'application/json',
data: JSON.stringify(name),
dataType: 'json',
success: function (e) {console.log(e);}
});
var _ref;
return (_ref = file.previewElement) != null ? _ref.parentNode.removeChild(file.previewElement) : void 0;
}
});
// Clear all files
$("#btn_clear_dropzone").click(function () {
// Delete existing files
mydropzone.removeAllFiles();
// Cancel current uploads
mydropzone.removeAllFiles(true);
});
如果有人建议您进一步完善此代码,请与我们联系。