我正在使用:https ://github.com/blueimp/jQuery-File-Upload (基本插件,没有添加ui)
我正在使用 data.context 链接各个节点以更新每个文件上传的进度,但它不会更新最后加载的文件。因此,例如,如果我选择 4 个文件,它们将显示在我的页面上,并且进度将适用于列表中的前 3 个,但不适用于第 4 个。无论选择什么数字,它始终是列表中的最后一个。(如果只选择了一项,则可以正常工作)。
此外,它似乎也没有更新相关的进度条。
有任何想法吗?
这是我的代码:
$('.aws').fileupload({
limitMultiFileUploads: 1,
dataType: 'html',
add: function (e, data) {
var file = data.files[0];
var fileDetails = '<tr><td>' +
file.name +
'</td><td class="progress"><span class="progress"><span class="js-progress-active progress-active"></span>' +
'</span></td><td class="cancel-file"><a href="#" class="cancel-file-load-icon js-cancel-file">Cancel</a></td></tr>';
if ($('.file-list table tr:last').length > 0) {
data.context = $('.file-list table tr:last').after(fileDetails);
} else {
data.context = $(fileDetails).appendTo('.file-list table');
}
data.submit();
},
progress: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
data.context.find('.js-progress-active').css(
'width',
progress + '%'
).text(progress + '%');
}
})
更新原来它是'tr:last'选择器。所以这不起作用:
data.context = $('.file-list table tr:last').after(fileDetails);
但这确实:
data.context = $(fileDetails).appendTo('.file-list table');