У меня есть следующий код для предварительного просмотра изображения
$("#weeklyOfferImages").change(function(){
readURLWeekly(this);
});
function readURLWeekly(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('.weeklyPreview').append('<img data-src="holder.js/140x140" src="'+e.target.result'"class="offer-image img-polaroid"/>');
},
reader.readAsDataURL(input.files[0]);
}
}
этот код отображает только одно изображение за раз. Как я могу отобразить несколько изображений. например, файл содержит 4 файла.
вы показываете только "0" → img input.files[0]
динамический с length
- итерация всего массива
function readURLWeekly(input) {
if(input.files)
for(var i = 0; i < input.files.length; i++) {
if (input.files[i]) {
var reader = new FileReader();
reader.onload = function(e) {
$('.weeklyPreview').append('<img data-src="holder.js/140x140" src="' + e.target.result + '" class="offer-image img-polaroid"/>');
},
reader.readAsDataURL(input.files[i]);
}
}
}
Может быть, что-то вроде этого:
$("#weeklyOfferImages").change(function(){
readURLWeekly(this);
});
function readURLWeekly(input) {
if (input.files) {
for (var i=0;i<4;i++) {
if (input.files[i]) {
var reader = new FileReader();
reader.onload = function (e) {
$('.weeklyPreview').append('<img data-src="holder.js/140x140" src="'+e.target.result'"class="offer-image img-polaroid"/>');
},
reader.readAsDataURL(input.files[i]);
} else {
break;
}
}
}
}