【问题标题】:Foreach output dynamic variable outside of loop - Laravel循环外的 Foreach 输出动态变量 - Laravel
【发布时间】:2017-03-19 18:55:18
【问题描述】:

我使用 Laravel 5.1 版,我需要了解如何在 foreach 之外输出特定的动态变量(数据目标)。

模态 div(bootstrap modal) 必须在 foreach 之外!

什么是最好的使用php或jquery以及如何解决这个问题?

Html 和 Laravel(php):

@foreach ($category as $name => $value)
<li>
<a href="">{{$value->category_name}}</a>
<button type="button" class="btn btn-warning fa fa-pencil-square-o pull-right easy" data-toggle="modal" data-target="#{{$value->id}}"></button>
...
</li>
@endforeach

<div class="modal fade" id="{{$value->id}}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
...
</div>

【问题讨论】:

  • 为什么它应该在foreach之外?
  • 您可以为该特定元素使用另一个 foreach
  • 因为我需要在单击按钮时获得特定且相同的 id。我的按钮和模态 div 必须以某种方式具有相同的 id。
  • @VasilisGreece,因此您可以使用相同或额外的foreach 创建模态。如果只有几个模态并且没有加载大量数据(如图形或大文本),则使用 foreach 而不是 AJAX 更容易做到这一点。

标签: php jquery twitter-bootstrap laravel foreach


【解决方案1】:

实现这一点的最佳和最简单的方法是根据类别的 ID 创建一个新路由。

然后,创建一个包含从该 Route 的控制器调用的模态内容的视图。

之后,单击此编辑按钮时调用 jQuery 脚本,该脚本通过 AJAX 请求(取决于 ID)加载模式视图。完成此请求后,将内容插入模态并打开模态。

【讨论】:

  • 是的,你是对的,我认为这是唯一的解决方案。现在我需要学习如何使用 AJAX 请求。
【解决方案2】:

我找到了解决方案。不需要 AJAX 或额外的 foreach(以防止重载 html 数据)。效果很好!

jquery:

$(document).ready(function(){
    $("#categoryview .fa-pencil-square-o").click(function(){
        $(this).removeAttr("data-target").attr("data-target", "#edit");
    });
});

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 2012-11-11
    • 2013-09-26
    • 2015-12-26
    • 1970-01-01
    相关资源
    最近更新 更多