我正在使用:
https://github.com/blueimp/jQuery-File-Upload(基本插件,没有添加ui)
我正在使用data.context绑定链接各个节点以更新每个文件上载的进度,但它不会更新最后加载的文件.
因此,例如,如果我选择4个文件,它们将显示在我的页面上,进度将适用于列表中的前3个,但不适用于第4个.无论选择哪个数字,它始终是列表中的最后一个. (如果只选择了1个项目,则可以正常工作).
此外,它似乎也没有更新相关的进度条.
有任何想法吗?
这是我的代码:
$('.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');
解决方法
只需重复您的答案,准确性和系统一致性.
现在,它不再具有可再现性.
现在,它不再具有可再现性.
“原来它是’tr:last’选择器.所以这不起作用:data.context = $(‘.file-list table tr:last’).after(fileDetails);但这样做:data.context = $(fileDetails).appendTo(‘.file-list table’);“