Предварительный просмотр загрузки не отображается

#ajax #upload #preview

Вопрос:

 $(document).ready(function() {  var counter = 1;  $("#addButton").click(function() {  if (counter gt; 100) {  alert("Only 100 uploads allow");  return false;  }  var newTextBoxDiv = $(document.createElement('div'))  .attr("id", 'TextBoxDiv'   counter);  let ds = "#file_"   counter;  let dsi = "file_"   counter;  // let dst = "#TextBoxDiv"  (counter-1);  $('#TextBoxesGroup').hide();  newTextBoxDiv.after().html('lt;label class="mt-3"gt;Image#'   counter   ' : lt;/labelgt;'    'lt;label id="attachments_btn" class="btn btn-icon btn-circle btn-light btn-hover-text-primary btn-shadow similar"gt;lt;i class="fas fa-plus"gt;lt;/igt;lt;input type="file" class="file" id="'   dsi   '" name="files[]" multiple="multiple" required /gt;lt;input type="hidden" name="profile_avatar_remove" /gt;lt;/labelgt;');  newTextBoxDiv.appendTo("#TextBoxesGroup");  counter  ;  var prev_count = counter - 1  newDiv(ds);  });  $("#removeButton").click(function() {  if (counter == 1) {  alert("No more textbox to remove");  return false;  }  counter--;  $("#TextBoxDiv"   counter).remove();  });  });  

выше приведен мой jQuery.

Вот мой HTML

 lt;div class="row"gt;  lt;div class="col-md-8"gt;  lt;div class="form-group" id="TextBoxesGroup"gt;  lt;!-- // --gt;  lt;/divgt;  lt;/divgt;  lt;div class="col-md-4 mt-4"gt;  lt;!-- lt;button id=''gt; --gt;  lt;label id="addButton" class="btn btn-icon btn-circle btn-light btn-hover-text-primary btn-shadow similar"gt;  lt;i class="fas fa-plus fa-2x"gt;lt;/igt;  lt;/labelgt;   lt;label id="removeButton" class="btn btn-icon btn-circle btn-light btn-hover-text-primary btn-shadow similar"gt;  lt;i class="fas fa-minus-circle fa-2x"gt;lt;/igt;  lt;/labelgt;  lt;/divgt;  lt;/divgt;  

мне нужно показать предварительный просмотр на каждом выбранном изображении, но это не работает, но если я должен использовать код напрямую, как показано ниже, предварительный просмотр будет работать.

 lt;label id="attachments_btn" class="btn btn-icon btn-circle btn-light btn-hover-text-primary btn-shadow similar"gt;  lt;i class="fas fa-plus"gt;lt;/igt;  lt;input hidden type="file" class="file" id="multiFiles" name="files[]" multiple="multiple" required /gt;  lt;input type="hidden" name="profile_avatar_remove" /gt;  lt;/labelgt;  

Пожалуйста, помогите, я не знаю, что делаю не так.

Я ссылаюсь на запрос загрузки, используя имя класса $( «. файл»); как показано ниже

 $('.file').on('change', function() {  $(".multi-file-details").show();  multiImgPreview(this, 'div.multi-item');  });   var multiImgPreview = function(input, imgPreviewPlaceholder) {  if (input.files) {  var filesAmount = input.files.length;   for (i = 0; i lt; filesAmount; i  ) {  var reader = new FileReader();   reader.onload = function(event) {  var result = event.target.result;  var spl_array = result.split(',');  var data_array = spl_array[0].split(';');  var filetype_ary = data_array[0].split(':');  var filetype = filetype_ary[1];  if (filetype == "image/jpeg" || filetype == "image/png") {  // $('#attachments_btn').hide();  $($.parseHTML('lt;imggt;')).attr('src', result).appendTo(imgPreviewPlaceholder);  }  }   reader.readAsDataURL(input.files[i]);  }  }   };  

Комментарии:

1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы выделить именно то, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.