Возникают проблемы с извлечением динамической записи БД с помощью модального атрибута data-id - PullRequest
0 голосов
/ 01 апреля 2019

Моя общая цель - выбрать ответ, отправить этот идентификатор на скрытый вход, а затем использовать его в моем контроллере (который, как я полагаю, я мог заподозрить в другом месте).Однако я пытаюсь получить идентификатор ответа, используя атрибут «data-id = {{r-> id}}».Глядя на консольный журнал, он сообщает только о первом REPLY с идентификатором «1» и ни о каком другом.Он находится внутри цикла, поэтому я не знаю, почему он не отображает второй ответ, если мне не нужно вручную получать это с помощью запроса контроллера GET, но не должен, поскольку я могу напрямую получить доступ к первому ответу.Или я должен включить цикл в свой jquery, чтобы идентификатор данных менялся в каждом цикле?но, конечно, это уже будет решено в цикле foreach выше, как вы увидите в моем исходном коде ниже.

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

Я посмотрел на это, и не повезло:

https://stackoverflow.com/questions/47150999/update-database-value-with-bootstrap-modal-and-laravel-5-2

Я добавил идентификатор в "модальные идентификаторы ", которые препятствовали тому же содержанию первого модального текста существовать в других из-за способа, которым эта страница была запрограммирована.

Я не уверен, мешает ли мой цикл foreach каким-либо образом.Я не включил свои контроллеры и модели, потому что это проблема цикла / JQuery.Однако есть две модели: «Билет» и «Ответить», у Билета есть много Ответов, «слаг» представляет билет и обращается к нему как «r».

Билет Билета

@if($slug->replies->count())
                    @foreach($slug->replies as $r)
                        <div class="card message-box">
                            <div class="ticket-content">
                                {{ $r->message }}
                            </div>
                            <div class="card-footer reply-footer bg-transparent" style="height: 2.5rem">
                                <button type="button" class="btn btn-light btn-outline-dark" id="open-modal"
                                         data-id="{{$r->id}}" data-toggle="modal"
                                        data-target="#edit-modal-{{$r->id}}">Edit
                                </button>
                            </div>
                            <!-- edit reply modal !-->
                            <div class="modal fade" tabindex="-1" role="dialog" id="edit-modal-{{$r->id}}">
                                <div class="modal-dialog" role="document">
                                    <div class="modal-content">
                                        <div class="modal-header">
                                            <h5 class="modal-title">Edit</h5>
                                            <button type="button" class="close" data-dismiss="modal"
                                                    aria-label="Close">
                                                <span aria-hidden="true">&times;</span>
                                            </button>
                                        </div>
                                        <div class="modal-body">
                                            <form id="edit-reply">
                                                <div class="form-group">
                                                    <input type="hidden" name="reply-id" class="hidden-id">
                                                    <textarea class="form-control testing" id="edit-box" rows="12"
                                                              name="edit-message"
                                                              required></textarea>
                                                </div>
                                                <button type="button" class="btn btn-light btn-outline-dark"
                                                        id="edit-button" data-dismiss="modal"
                                                        style="font-weight: bold;">Confirm
                                                </button>
                                            </form>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    @endforeach

JavaScript

<script type="text/javascript">
    jQuery(document).ready(function () {
       $('#open-modal').on('click', function () {
            var id = $(this).data('id')
            $('.hidden-id').val(id);
             console.log(id)
       });
    });
</script>

...