1

我从这里下载了 1 个上传进度条:http: //www.malsup.com/jquery/form/progress3.html

这是完美的; 无论如何,就在文件上传时,它会给出有关文件的状态,例如:

在http://mysite.com/1.jpg上传的文件

但是,当上传新文件时,状态会消失,并且会出现有关刚刚上传的新文件的详细信息。

我只想拥有旧状态,当上传新文件时,新状态就会出现在旧状态下。我怎么能这样做?

这是代码:

(function() {

var bar = $('.bar');
var percent = $('.percent');
var status = $('#status');
$('form').ajaxForm({
beforeSend: function() {
    status.empty();
    var percentVal = '0%';
    bar.width(percentVal)
    percent.html(percentVal);
},
uploadProgress: function(event, position, total, percentComplete) {
    var percentVal = percentComplete + '%';
    bar.width(percentVal)
    percent.html(percentVal);
    //console.log(percentVal, position, total);
},
complete: function(xhr) {
    status.html(xhr.responseText);
}
}); 

})();       
</script>

如果您在链接中看到演示并很好地理解它,则状态显示在 HTML 中,如下所示:

 <div id="status"></div>

谢谢!

4

1 回答 1

2

您的complete回调正在重置,status.html()并且您beforeSend正在清空status. status.empty();删除那条线!

然后尝试在一些标记中添加最新消息,而不是覆盖以下内容的全部内容status

complete: function(xhr) {
    var message = '<div class="new">' + xhr.responseText + '</div>';
    status.prepend(message);
}
于 2013-01-26T21:20:21.223 回答