Примечание: я пробовал различные решения, найденные в Интернете для моей проблемы, но ни одно из них не помогло.
Я пытаюсь передать содержимое из таблицы, где в каждой строке есть своя кнопка для редактированиясодержание в этом ряду.Кнопка открывает раскрывающийся список Twitter Bootstrap, в котором есть две кнопки, одна из которых является кнопкой «Изменить».Кнопка редактирования открывает модальное окно с текстовой областью ввода.Я хочу, чтобы текстовая область содержала текущий текст в таблице для редактирования.Я использую PHP с Symfony для форм и Twig для рендеринга страниц.
кнопка, которая вызывает модальное
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<button class="btn btn-sm dropdown-item edit-button" data-toggle="modal" data-target="#announcementEditModal" data-id="{{ announcement.id }}" data-content="{{ announcement.content }}" type="button">
<div class="announcement-actions">
<span class="fas fa-pencil-alt"></span> Edit announcement
</div>
</button>
модальное
<div class="modal fade" id="announcementEditModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header announcement-header">
<h5 class="modal-title" id="exampleModalLabel"><span class="fas fa-edit"></span> Edit new announcement</h5>
</div>
<div class="announcement-card-header card m-3 border-0">
<div class="announcement-card-header card-body border-0 p-1">
<span class="fa fa-info-circle fa-lg header-icon"></span>
<h5 class="align-header">ANNOUNCEMENT TEXT</h5>
</div>
<div class="announcement-card-body modal-body card border-0">
{{ form_start(editForm) }}
<div class="announcement-card-body">
<label for="exampleInputEmail1">ANNOUNCEMENT (SUPPORTS MARKDOWN)</label>
<textarea class="form-control" id="announcementText" rows="5" name="content"></textarea>
</div>
</div>
</div>
<div class="card-footer border-0 bg-white pt-0">
<div>
{{ form_widget(editForm.edit, {'left_icon': 'fas fa-check'}) }}
<button type="button" class="btn btn-light" data-dismiss="modal" aria-label="Close">
Cancel
</button>
</div>
</div>
{{ form_end(editForm) }}
</div>
</div>
</div>
JavaScript
<script type="text/javascript">
$(".edit-button").click(function(){
var content = $(this).data("content");
alert(content);
});
$('#announcementEditModal').on('shown.bs.modal', function () {
alert("modal open");
document.getElementById("#announcementText").val(content);
})
</script>
alert("modal open") does not fire.I have tried
'показанный.bs.modal' and
'show.bs.modal'`.Я использую Bootstrap 4.12
РЕДАКТИРОВАТЬ: Решение: Как только я переместил JS в файл announcements.js, где я делал некоторые вещи с моими формами, триггер работает.