2012-04-07 155 views
1

我使用jQuery的上传者从here我想知道如何获得文件的总数已被添加,而不是上传。获取上传文件数

没有关于新版本的具体文档,所以任何人都可以说我该怎么做?

当我需要得到这样 “uploading 1 of n files

在这里,在documentation说:

$('#fileupload').bind('fileuploadadded', function (e, data) { 
    //Here I need to get the upload count. 
}); 

,如果我如下图所示它给了我算作1

var totalfiles = data.files.length; 
alert(totalfiles); 

回答

9

在文档之后有一个名为'fileuploadadd'的事件,每次将文件添加到队列时都会触发,所以您可以创建一个计数器并提高当事件被调用时。

var filestoupload =0;  
$('#fileupload').bind('fileuploadadd', function (e, data) { 
     filestoupload++; 
    }); 
+0

@ lgomezma,感谢that.I做同样的,但我一直在里面同一回路所以它有总是拿1。 – coder 2012-04-07 16:30:47

+0

是的,我想象的是:) – lgomezma 2012-04-07 16:48:04

+0

最好的解决方案,upvoted。 – 2017-03-10 23:27:58

2

上传前上传文件数。

$('#fileupload').fileupload({ 
     ... 
     change: function (e, data) { 
      var idx=0; 
      $.each(data.files, function (index, file) { 
       idx++; 
      }); 
      alert(idx); 
     } 
     ... 
    }); 
0

我用这种方式在文件上传的jQuery计数上传的文件和文件总

var uploadedFileCount = 0; 
var totalFileCount = 0; 
$("#fileupload").fileupload({ 
    dataType: 'json', 
    url: url, 
    autoUpload: true, 
    done: function (e, data) { 
     //Some code 
     uploadedFileCount = uploadedFileCount + 1; 
     $("#UploadCount").html(uploadedFileCount + " of" + totalFileCount); 
    } 
    }).on('fileuploadadd', function (e, data) { 
     totalFileCount = totalFileCount + 1; 
    });