【问题标题】:Bootstrap 4 Modal In A PHP ForEach LoopPHP ForEach 循环中的 Bootstrap 4 模式
【发布时间】:2019-06-28 13:36:04
【问题描述】:

我正在尝试使用 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 循环中生成的动态页面中。按钮应用了正确的数据属性,但数据似乎没有从循环传递到模态。我有一个开发页面,你可以在这里查看,有问题的按钮是“检查可用性”http://windsor.sixomedia.ca/inventory/New/

【问题讨论】:

  • Modal ID 是否需要附加一个数字?所以它会是ExampleModal1,ExampleModal2,ExampleModal3?我认为这是通过 jQuery 将数据变量传递给它来解决的。我可以让它工作为每个模态框附加一个不同的 ID,但这似乎没有必要(或者我错了)

标签: php jquery wordpress bootstrap-4


【解决方案1】:

试试这个

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

希望对您有所帮助。

【讨论】:

  • 谢谢,试过了,不幸的是没有改变。我创建了一个单独的测试页面 windsor.sixomedia.ca/test 并且功能运行良好,这让我对 php foreach 循环对此有何影响感到非常困惑。
猜你喜欢
  • 1970-01-01
  • 2016-09-26
  • 2012-07-19
  • 1970-01-01
  • 2017-05-28
  • 1970-01-01
  • 2015-12-10
  • 1970-01-01
  • 2014-03-15
相关资源
最近更新 更多