У меня есть список похожих элементов , созданных с помощью цикла for. Для каждого из этих элементов у меня есть кнопка для редактирования информации. При каждом нажатии этой кнопки редактирования открывается всплывающее окно с полем Dropzone (с использованием библиотеки Dropzone). Теперь, чтобы загрузить изображения, связанные с каждым , я изменяю входное значение, связанное с идентификатором изображения, с помощью jQuery.
Однако мне нужно прочитать измененный идентификатор из входных данных и использовать его в функции init Dropzone. Проблема в том, что Dropzone была создана до изменения входного значения, и во время начальной загрузки страницы она имеет пустое значение. Я хочу повторно запускать функцию Dropzone init с той же конфигурацией, что и предыдущая, после каждого нажатия кнопки редактирования.
Сейчас я опубликую фрагменты кода для справки.
HTML-файл:
@foreach($steps как $step) {{$step->description}}
cover_image}}"> @endforeach
Модальный HTML-файл:
× @method('ИСПРАВЛЕНИЕ') @csrf @csrf некоторые сообщения обновление Файл JavaScript:
$('.update_step').on('click', function () { пусть Step_number = $(this).attr('step_number') пусть маршрут = $(это).attr('маршрут') $('#edited_step_number').text(step_number) $('#update_step_form').attr('действие', маршрут) пусть родитель = $(this).parent().parent().parent(); let описание = родитель.найти('.step_description_p').текст(); let Cover_id = Parent.find('.step_cover_id').val(); let video_id = Parent.find('.step_video_id').val(); $('#update_step_description').val(description).change(); $('#update_step_cover_id').val(cover_id).change(); $('#update_step_video_id').val(video_id).change(); }); Dropzone.options.updateStepCoverForm = { имя_параметра: "файл", uploadMultiple: ложь, принятые файлы: "изображение/*,", МаксФайлс: 1, заголовки: { 'X-CSRF-Token': $('input[name="_token"]').val(), «Принять»: «приложение/json» }, addRemoveLinks: правда, инициализация: функция() { пусть CoverDropzone = это; let id = $('#update_step_cover_id').val() если(идентификатор !== ''){ $.ajax({ URL: '/panel/fetch_file/' + идентификатор, введите: «получить», Тип данных: 'JSON', успех: функция (ответ) { varockFile = {имя: ответ.данные.имя_файла, размер: ответ.данные.размер}; CoverDropzone.emit("добавленный файл", макетФайл); CoverDropzone.emit("миниатюра",ockFile, response.data.file_path); CoverDropzone.emit("Завершить", MockFile); CoverDropzone.options.maxFiles = 0; } }); } this.on("удаленный файл", файл => { let id = $('#update_step_cover_id').val() remove_file_function(id, «update_cover») }); }, принять: функция (файл, готово) { сделанный(); }, успех: функция (файл, ответ) { $('#update_step_cover_id').val(response.data.id).change(); }, ошибка: функция (файл, ответ) { error_function(файл, ответ) } };