Bootstrap 4 Модальный в цикле PHP ForEach - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь исправить странную ошибку с моим кодом с помощью модального кода Bootstrap 4.Я просто скопировал и вставил код отсюда: https://getbootstrap.com/docs/4.0/components/modal/#events

Это для автомобильного веб-сайта, и я пытаюсь передать запас и VIN через атрибут данных в соответствии с запросом.Вопрос в том, как это работает с циклом foreach.Он работает на одной странице Wordpress или посте, но не извлекает данные из каждого раздела цикла.

<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-stock="<?php echo $vehicle['stock_number'];?>">Check Availability</button>
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="exampleModalLabel">Stock</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>
                    <div class="form-group">
                        <label for="recipient-name" class="col-form-label">Recipient:</label>
                        <input type="text" class="form-control" id="recipient-name">
                    </div>
                    <div class="form-group">
                        <label for="message-text" class="col-form-label">Message:</label>
                        <textarea class="form-control" id="message-text"></textarea>
                    </div>
                </form>
            </div>

            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                <button type="button" class="btn btn-primary">Send message</button>
            </div>
        </div>
    </div>
</div>

И мой код Jquery (функция ($) {

$('#exampleModal').on('modal.fade.show', function (event) {
    alert( "clicked" );
  var button = $(event.relatedTarget) // Button that triggered the modal
  var recipient = button.data('stock') // Extract info from data-* attributes
  // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
  // Update the modal's content. We'll use $ here, but you could use a data binding library or other methods instead.
  var modal = $(this)
  modal.find('.modal-title').text('New message to ' + recipient)
  modal.find('.modal-body input').val(recipient)
})})( jQuery );```

С точки зрения функциональности это работает, но не в динамических страницах, которые генерируются в цикле foreach. К кнопкам применен правильный атрибут data, но данные не передаются модальному из цикла. Iоткройте страницу разработки, где вы можете посмотреть в живую, кнопка, о которой идет речь, - «Проверить доступность» http://windsor.sixomedia.ca/inventory/New/

1 Ответ

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

Попробуйте это

var recipient = button.data('data-stock');

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...