gpt4 book ai didi

javascript - 使用 valums ajax uploader 从上传列表中删除特定文件

转载 作者:行者123 更新时间:2023-11-30 13:17:04 25 4
gpt4 key购买 nike

当使用 valums ajax uploader 上传文件时,我们会得到包含文件名和文件大小的文件列表。我希望该列表带有文件的文件名、文件大小和删除链接。因此,当用户单击删除时,文件应该从显示的列表中消失。我成功地获得了每个文件的删除链接,但由于我对 javascript 的了解较少,因此无法按我的意愿进行处理。如果有人可以提供帮助,那就太好了。这就是我到目前为止所做的。

 function deleteme(id){
//something like this
var item = this._getItemByFileId(id);
qq.remove(this._find(item));
}

fileTemplate:'<li>' +
'<span class="qq-upload-file"></span>' +
'<span class="qq-upload-spinner"></span>' +
'<span class="qq-upload-size"></span>' +
'<a class="qq-upload-cancel" href="#">Cancel</a>' +
'<span class="qq-upload-failed-text">Failed</span>' +
'<a class="qq-upload-del-text" href="javascript:deleteme(this.id);">Delete</a>' +
'</li>',

提前致谢。

最佳答案

我使用的是 FileUploaderBasic 版本,遇到了同样的问题。所以我做了一个 DIY 移除

这里是完整的例子:

var $fub = $('#fine-uploader-basic'),
$messages = $('#upload-messages');

// try the basic uploader

var uploader = new qq.FileUploaderBasic({
button: $fub[0],
action: base_ajax_url + 'upload',
debug: true,
autoUpload: false,
allowedExtensions: ['jpeg', 'jpg', 'gif', 'png'],
sizeLimit: 204800, // 200 kB = 200 * 1024 bytes
// the method name really should be onSelect
onSubmit: function(id, fileName) {

var _self = this;

var entry = $('<div id="file-' + id + '" class="alert" style="margin: 10px 0 0">' + fileName + ' <span class="qq-upload-cancel close">&times;</span></div>'
).appendTo(
$messages[0]
).find('.qq-upload-cancel').click(function() {
_self._storedFileIds.splice(_self._storedFileIds.indexOf(id) , 1);
$($(this).parent()).remove();
return false;
});

},
onUpload: function(id, fileName) {
$('#file-' + id).addClass('alert-info')
.html('<img src="/sites/all/themes/pb_admin/images/loading.gif" alt="Initializing. Please hold."> ' +
'Initializing ' +
'"' + fileName + '"');
},
onProgress: function(id, fileName, loaded, total) {
if (loaded < total) {
progress = Math.round(loaded / total * 100) + '% of ' + Math.round(total / 1024) + ' kB';
$('#file-' + id).removeClass('alert-info')
.html('<img src="/sites/all/themes/pb_admin/images/loader.gif" alt="In progress. Please hold."> ' +
'Uploading ' +
'"' + fileName + '" ' +
progress);
} else {
$('#file-' + id).addClass('alert-info')
.html('<img src="/sites/all/themes/pb_admin/images/loader.gif" alt="Saving. Please hold."> ' +
'Saving ' +
'"' + fileName + '"');
}
},
onComplete: function(id, fileName, responseJSON) {
if (responseJSON.success) {
$('#file-' + id).removeClass('alert-info')
.addClass('alert-success')
.html('<i class="icon-ok"></i> ' +
'Successfully saved ' +
'"' + fileName + '"');
} else {
$('#file-' + id).removeClass('alert-info')
.addClass('alert-error')
.html('<i class="icon-exclamation-sign"></i> ' +
'Error with ' +
'"' + fileName + '": ' +
responseJSON.error);
}
}
});

(onSubmit 的名字有点可疑……无论如何)

我试图调用 onCancel 方法(但抛出未定义的异常)。

然后这个工作 - 通过从 _storedFileIds 数组中删除 id。就是这样。

关于javascript - 使用 valums ajax uploader 从上传列表中删除特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11667020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com