2013-02-10 2 views
0

après avoir essayé d'obtenir une entrée de sélection de fichiers multiples en travaillant avec des aperçus, mais puis découvrir IE ne le supporte pas, j'ai changé comment je vais sur un téléchargement de fichiers multiples.entrées de fichiers multiples, comment obtenir ID de chacun pour l'aperçu

maintenant j'ai plusieurs entrées de fichier unique, chacune avec leur propre div 'preview'. l'id de chaque div select et l'aperçu sont liés (entrée select id = "fichier1", div aperçu id = "previews_file1") etc jusqu'à 10.

Im en utilisant ce code pour afficher un aperçu de l'image sélectionnée:

function readURL(input) { 
if (input.files && input.files[0]) { 
    var reader = new FileReader(); 

    reader.onload = function (e) { 
     var thisid = $(this).id; 
     var container = $('#previews_'+ thisid); 
     var image = $('<img>').attr('src', e.target.result).css({'max-width':'200px','max-height':'200px'}); 
     image.appendTo(container); 
    }; 
    reader.readAsDataURL(input.files[0]); 
} 
} 

avec html:

<div id="previews_file1" style="float:left;width:200px;height:200px;"></div> 
    <input type='file' id="file1" name="file1" onchange="readURL(this);" style="float:left;" /> 

mon problème est que je ne peux pas l'air de passer l'id entrées sur la fonction, .id certainement (ce) $ ne fonctionne pas. Comment est-ce que je vais mettre l'aperçu dans le bon aperçu div?

EDIT:

violon js: http://jsfiddle.net/KE3tv/

+0

console jsFiddle "Uncaught ReferenceError: readURL n'est pas défini" – Popnoodles

Répondre

1

http://jsfiddle.net/KE3tv/1/

<input type='file' name="file1" /> 
<input type='file' name="file2" /> 
<input type='file' name="file3" /> 

JQ

$('input[type="file"]').on('change', function(){ 
    ... 
    // name is already a unique attribute, no need for an id 
    var container = $('#previews_'+ $(this).attr('name')); 
    ... 
}); 
+0

ce w Orked, même si j'ai dû changer la façon dont je fais cela à nouveau à cause de IE, merci – rpsep2

Questions connexes