Blueimp jquery文件上传-上下文中的进度回调,最后一个没有';t更新

Blueimp jquery文件上传-上下文中的进度回调,最后一个没有';t更新,jquery,file-upload,blueimp,Jquery,File Upload,Blueimp,我正在使用:(基本插件,没有添加ui) 我使用data.context链接各个节点以更新每个文件上载的进度,但它不会更新最后加载的文件。 例如,如果我选择4个文件,它们将显示在我的页面上,并且进度将适用于列表中的前3个文件,但不适用于第4个文件。无论选择了多少,它始终是列表中的最后一个。(如果仅选择了1项,则其工作正常) 此外,它似乎也没有更新相关的进度条 有什么想法吗 这是我的密码: $('.aws').fileupload({ limitMultiFileUploads: 1,

我正在使用:(基本插件,没有添加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 + '%');
    }

})
但这确实:

data.context = $(fileDetails).appendTo('.file-list table');

只需重复您的答案,以确保准确性和系统一致性。
现在,它不再是可复制的了

“原来是‘tr:last’选择器。所以这不起作用:
data.context=$('.file list table tr:last')。之后是(fileDetails)

但这是:

data.context=$(fileDetails).appendTo('.file list table');

选择器
:last
不存在。 改用
:最后一个子项

data.context = $('.file-list table tr:last-child').after(fileDetails);

如果正确的话

你能帮我一个忙并解释一下取消链接是如何工作的吗?我已经对代码做了很多修改,但是为了让取消生效,我在add回调中的data.submit()之前有了这个命令:data.context.find('.js cancel file').bind('click',function(e){data.jqXHR.abort();$(this.parent('td').prev('td').text('cancelled');$(this).unbind('click');});太棒了,谢谢!最好的事情是:我理解它:)嗨,Stevo,据我从你更新的评论中了解,你不需要if条件,对吗?我指的是以下代码:if($('.file list table tr:last').length>0){data.context=$('.file list table tr:last').after(fileDetails);}else{data.context=$(fileDetails);}应该变成:data.context=$(fileDetails).appendTo('.file list table');我想是的。我刚刚查看了我的代码,得到了:data.context=$(fileDetails.appendTo('ul.file list');所以我没有测试条件,DOM现在有一个ul,所以它只是将列表项附加到它。因此,不管列表中是否有,它仍然会追加。
data.context = $('.file-list table tr:last-child').after(fileDetails);