У меня есть список (отображается в табличном формате). Список состоит из названий различных отделов.
Появляется то же, что и ниже:
-------------------------------------------------------
Sr. No. Department Name Action
-------------------------------------------------------
1 Department A EDIT | DELETE
2 Department B EDIT | DELETE
3 Department C EDIT | DELETE
4 Department D EDIT | DELETE
5 Department E EDIT | DELETE
-------------------------------------------------------
Теперь я пытаюсь открыть один модальный режим, когда нажата кнопка «EDIT» или «DELETE». В модальном режиме я хочу отобразить форму РЕДАКТИРОВАТЬ (для конкретного отдела) или УДАЛИТЬ форму (для конкретного отдела).
Обратите внимание: я использую CouchCMS , поэтому даже пользовательский PHPможет быть полезен код, который можно изменить в соответствии с CouchCMS Purview.
Я создал клонируемый шаблон с настраиваемыми маршрутами, используя CouchCMS. Тег помогает мне сгенерировать таблицу (как показано выше). Где в кнопках для редактирования и удаления также генерируются. Я могу легко предоставить кнопке идентификатор страницы, используя CouchCMS (если это поможет).
Я использую нативный код bootstrap, чтобы открыть модал Bootstrap v3. При этом для каждой нажатой кнопки открывается один модал, что избавляет меня от проблемы с памятью, с которой я могу столкнуться, если сгенерирую столько модалов, сколько строк в таблице.
Код для модального Bootstrap v3, которыйя имею в виду, доступно здесь .
В CouchCMS у нас есть форма редактирования (для редактирования данных, запрашиваемых из базы данных), где необходимо установить параметр page_id для редактирования этогоконкретный элемент данных. Мне нужно установить этот page_id. Но я не могу понять, как?
Код для создания списка таблиц:
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Sr. No.</th>
<th>Name</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<cms:pages masterpage='department/department.php' limit='10' paginate='1' show_future_entries='1'>
<tr>
<td><cms:show absolute_count /></td>
<td><cms:show k_page_title /></td>
<td>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-id="<cms:show k_page_id />">
EDIT
</button>
<button type="button" class="btn btn-danger" data-toggle="modal" data-target="#exampleModal" data-id="<cms:show k_page_id />">
DELETE
</button>
</td>
</tr>
</cms:pages>
</tbody>
</table>
Код для открытия одного модального окна для каждой нажатой кнопки, кнопки РЕДАКТИРОВАТЬ или УДАЛИТЬ:
$('#exampleModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget) // Button that triggered the modal
var page = button.data('id') // Extract info from data-* attributes
// If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
var modal = $(this)
modal.find('.modal-title').text('New message to ' + page)
modal.find('.modal-body input').val(page)
})
Код для модального вида:
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="exampleModalLabel">New message</h4>
</div>
<div class="modal-body">
<!-- Edit Form Content Here -->
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">CANCEL</button>
<button type="button" class="btn btn-primary">SAVE</button>
</div>
</div>
</div>
</div>
Форма редактирования в CouchCMS определяется следующим образом:
В этой форме мне нужно установить page_id = k_page_id,K_page_id доступен для кнопки в таблице под атрибутом data- * (data-id). Если только page-id может быть предоставлен для page_id, остальное можно перенести оттуда с помощью CouchCMS.
Я также открыт для возможности использования AJAX, если требуется. Но если это возможно без AJAX, все равно будет хорошо.
Любая помощь в этом отношении будет принята с благодарностью. Если требуется какое-либо разъяснение или пост-редактирование или требуются дополнительные материалы, я покажу, если кто-то укажет на недочёт в моем описании / коде.
Заранее спасибо сообществу.