2012-04-07 80 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; 
    });