J'ai un formulaire de téléchargement qui utilise le nouvel attribut multiple et j'ai fait un formulaire de téléchargement ajax pour rendre les choses plus faciles à utiliser. Mon problème est im essayant de mettre à jour des pourcentages pour tous ces fichiers qui sont téléchargés et ajoutés à un div, au lieu d'un pourcentage mis à jour, tous sont mis à jour à partir du dernier fichier. Voici du code.Comment sélectionner un élément ajouté
$('#File').change(function(event) {
for(I = 0; I < this.files.length; I++)
{
var Name = this.files[I].name;
var Size = this.files[I].size;
var Type = this.files[I].type;
$('#UploadContent').prepend('<div class="UploadLabel" style="width:60%;">'+Name+'</div><div class="UploadLabel UploadPercent" style="width:10%;">0%</div><div class="UploadLabel" style="width:15%;">N/A</div><div class="UploadLabel" style="width:15%;">'+Type+'</div>');
var Data = new FormData();
Data.append('File[]', this.files[I]);
var Request = new XMLHttpRequest();
Request.upload.addEventListener('progress', function(event){
if(event.lengthComputable)
{
var Percent = event.loaded/event.total;
var Progress = $('#UploadContent').find('.UploadPercent');
$(Progress).text(Math.round(Percent * 100) + '%');
}
});
Request.upload.addEventListener('load', function(event) {
});
Request.open('POST', '/Home/Upload/Upload.php');
Request.setRequestHeader('Chache-Control', 'no-cache');
Request.send(Data);
$('#UploadModal').fadeIn('fast');
}
});
maintenant que vous pouvez voir dans les progrès d'écoute mon
var progress = $('#UploadContent').find('.UploadPercent');
comment je sélectionner le fichier qui est censé être mis à jour correctement. Si quelqu'un peut trouver une méthode complètement différente pour changer le pourcentage ce serait génial aussi! - Merci!
Comme je l'ai compris que vous voulez sélectionner l'élément Prepended? Si c'est le cas, vous devez d'abord le créer avec jquery var someElement = $ ("quel élément vous voulez") et ensuite le préfixer – Givi
bonne idée! laisse moi essayer ça. –
pourriez-vous écrire une réponse je ne pouvais pas le faire fonctionner @GiviKesanashvili –