sto usando: https://github.com/blueimp/jQuery-File-Upload (il plugin di base, senza l'aggiunta ui)Blueimp upload di file jquery - avanzamento della chiamata nel contesto, l'ultima non aggiorna
sto usando data.context per legare singolo collegamento nodi per aggiornare l'avanzamento di ogni caricamento di file, ma non aggiornerà l'ultimo caricato. Quindi, per esempio, se scelgo 4 file, verranno visualizzati sulla mia pagina e lo stato di avanzamento funzionerà per i primi 3 nell'elenco, ma non per il 4. Indipendentemente dal numero selezionato, è sempre l'ultimo della lista. (se è selezionato solo 1 elemento funziona ok).
Inoltre, sembra che non stia aggiornando la relativa barra di avanzamento.
Qualche idea?
Ecco il mio codice:
$('.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 + '%');
}
})
UPDATE 'venuto fuori è la 'tr: ultima' selettore. quindi questo non funziona:
data.context = $('.file-list table tr:last').after(fileDetails);
ma questo:
data.context = $(fileDetails).appendTo('.file-list table');
Potresti farmi un favore e spiegare come funziona il collegamento cancel-? – Hank
Ho cambiato parecchio il mio codice, ma per ottenere il cancel to work lo ho appena prima di data.submit() nell'aggiunta del callback: data.context.find ('. Js-cancel-file') .bind ('click', function (e) { \t \t \t \t data.jqXHR.abort();.. \t \t \t \t $ (this) .parent ('td') prev() testo 'td' ('cancellato'); \t \t \t \t $ (this) .unbind ('click'); \t \t \t}); – Stevo
Fantastico, grazie! La cosa migliore è: lo capisco :) – Hank