在获取具有data-id模态属性的动态数据库记录时遇到困难

时间:2019-04-01 12:12:13

标签: jquery ajax laravel modal-dialog

我的总体目标是选择一个回复,将该ID发送到隐藏的输入中,然后在我的控制器中使用它(我相信我可能在其他地方都没有帮助)。但是,我正在努力使用“ data-id = {{r-> id}}”属性来检索答复的ID。查看控制台日志,它只报告ID为'1'的第一个REPLY,而没有其他报告。它在一个循环内,因此我不知道为什么它不显示第二个答复,除非我必须使用GET控制器请求手动获取该答复,但不必这样做,因为我可以直接访问第一个答复。还是我必须在我的jquery中包含一个循环,以便每个循环的data-id都改变?但是肯定可以在上面的foreach循环中解决该问题,如下面的源代码所示。

我相信这是一个非常基本的解决方法,但是我已经竭尽全力尝试解决此问题很久了,因此我非常感谢您的帮助。

我看过这个,没有运气:

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

我在“模态ID”中添加了一个ID,以防止由于该页面的编程方式而导致其他模态中第一个模态的内容不存在。

我不确定我的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>

0 个答案:

没有答案