2017-08-03 34 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('');在變更事件的頂部 –

相關問題