Получите доступ к объекту определенной строки в Таблице начальной загрузки и перейдите в Модальный - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть таблица, где каждая строка является объектом и показывает определенные свойства.В каждой строке также есть кнопка, которая открывает модальное окно удаления, которое удалит объект из этой строки из базы данных.Модальный шаблон Twig имеет доступ к массиву отображаемых объектов, но мне нужен способ найти, какой объект искать и удалять в БД.

Вот код шаблона ветки для отображения данных.

{%  for announcement in announcements %}
    <tr>
        <th scope="row">{{ announcement.content }}</th>
        <td>{{ announcement.isDisplayed() }}</td>
        <td style="float:right;">
            <div>
                <button class="btn btn-sm" data-toggle="modal" data-target="#announcementDeleteModal">
                         <span class="fa fa-trash btn-link"></span>
                          Delete announcement
                </button>

Модальный шаблон, который также имеет акценты в массиве announcements

<div class="modal fade" id="announcementDeleteModal" tabindex="-1" role="dialog"  aria-hidden="true">
<div class="modal-dialog" role="document">
    <div class="modal-content">
        <div class="modal-header">
            <h5 class="modal-title" id="exampleModalLabel">
                <span class="fa fa-cat"></span><div>Srsly delete that?</div>
            </h5>
        </div>
        <div class="modal-body">
            {{ form_start(deleteForm) }}
            {{ form_end(deleteForm) }}
            <span class="fa fa-cat"></span><div>Srsly delete that?</div>
            <button type="button" class="btn btn-secondary" data-dismiss="modal" aria-label="Close">
                Fine. Keep it.
            </button>
        </div>
    </div>
</div>

Вот код jQuery, который отправляет запрос ajax.Var id записывает правильные данные.Мне просто нужно получить доступ к нему через контроллер.Я пробовал $request->get('id') и $request->get('id'),

$('.action-button').click(function () {
        alert("ran");
        var id = $(this).data('id');
        alert(id);
        $.ajax({
            url:"/admin/announcements",
            method: "POST",
            cache: false,
            data: { id: id },
            success: function (html) {
                alert("success");
               // $(this).parent().parent().remove();

            }
        });
    });

1 Ответ

0 голосов
/ 12 февраля 2019

На самом деле я не понимаю вопроса, но я предлагаю вам создать модал для каждого элемента строки при рендеринге шаблона или написать собственный скрипт JS, передать идентификатор объекта через атрибут данных и сохранить его в каком-то скрытом поле.

...