2017-08-03 106 views
1

我可以在input logos上选择多个文件,我想预览它的全部内容。目前我只能显示其中的一个。如何在输入中预览多个文件?

我不知道如何通过每个文件的循环使用此代码:

 $(function() { 
     $("input[name='cover[logos][]']").on('change', function(event) { 
      var files = event.target.files; 
      for(i=0; i<files.length; i++){ 
       var image = files[i] 
       var reader = new FileReader(); 
       reader.onload = function(file) { 
        var img = new Image(); 
        img.src = file.target.result; 
        $('#target').html(img); 
        } 
       reader.readAsDataURL(image); 
      }; 
     }); 
    }); 
+2

尝试用'$追加( '#target')。append(img)'而不是替换用'$('#target')。html(img)' –

+0

提示,使用URL.createObjectURL而不是fileReader – Endless

回答

2

使用此

$('#target').append(img); 

代替

$('#target').html(img); 

对于更换图像时用户改变他的输入

$('#target').html(''); 
for(i = 0; i < files.length; i++) { 
    //loop code 
} 

Fiddle

+0

谢谢你的工作。但使用它,它不会取代图像,如果用户更改他的输入... – Orsay

+0

查看我的更新回答 – Manoj

1

你的JS是罚款只是改变HTML追加

$('#target').append(img); 

,并使用

$('#target').html(''); 

清除先前选择

+0

谢谢你的作品。但是如果用户改变他的输入,使用它不会取代图像... – Orsay

+0

add $('#target')。html('');在变更事件的顶部 –

相关问题