好吧我一直在创建一些测试代码来尝试清除上传队列,但我不知道如何从我所在位置访问refresh()函数。我正在使用jQuery UI小部件作为基础来工作。 我使用INIT的部分给了我地狱,我似乎无法弄清楚如何从我的json调用中刷新()。我希望你可以启发我,因为我显然是在吮吸jQuery。
var do_continue = false;
$("#uploader").plupload({
// General settings
runtimes : 'html5,browserplus,silverlight,gears,html4',
url : CI.base_url + 'private/ad/upload_ad_images',
max_file_size : '2mb',
max_file_count: 5, // user can add no more then 20 files at a time
//chunk_size : '1mb',
unique_names : true,
multiple_queues : true,
// Resize images on clientside if we can
//resize : {width : 800, height : 600, quality : 90},
// Rename files by clicking on their titles
rename: true,
// Sort files
sortable: true,
// Specify what files to browse for
filters : [
{title : "Image files", extensions : "jpg,gif,png"}
],
// Flash settings
flash_swf_url : CI.base_url + 'scripts/plupload/js/plupload.flash.swf',
// Silverlight settings
silverlight_xap_url : CI.base_url + 'scripts/plupload/js/plupload.silverlight.xap',
// Post init events, bound after the internal events
init : {
QueueChanged: function(up) {
// check for max photos here
$.getJSON(CI.base_url + 'private/ad_ajax/count_uploaded_images/', function(data) {
if (!data.message) {
alert("no data found? - please contact us with this message.");
do_continue = false;
}else if(data.message != "go") {
alert("Maximum photo uploads reached.");
do_continue = false;
}
if (!do_continue) {
$(this).refresh(); // -->> need something that works here
}
});
}
}
});
答案 0 :(得分:3)
您在UI中尝试刷新的内容是什么?据我所知,refresh()只重绘了plupload透明垫片的运行时间在正确的位置。它不会重新加载整个UI或刷新/清除上传队列。
如果您可以详细说明您尝试刷新的原因或原因,我可以帮助您。无论哪种方式,基于您的代码刷新的方式如下:
up.refresh();
如果您尝试完全清空上传队列,请执行以下操作:
up.splice();
或使用以下代码中的任何其他位置:
var uploader = $('#uploader').plupload('getUploader');
uploader.splice();
您可能还想检查其他可用的events,因为我怀疑您应该对FilesAdded而不是QueueChanged进行检查,但这取决于您要实现的目标。
答案 1 :(得分:1)
$.getJSON(CI.base_url + 'private/ad_ajax/count_uploaded_images/', function(data) {
if(data.message != "go") {
alert("Maximum photo uploads reached.");
do_continue = false;
plupload.each(files, function(file) {
up.removeFile(file);
});
}
});
答案是up.refresh()等因某种原因无效。