私が使用している: 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');