【问题标题】:Laravel blade hide select options in foreach loopLaravel 刀片在 foreach 循环中隐藏选择选项
【发布时间】:2018-03-31 23:22:26
【问题描述】:

您好,我正在尝试在 Laravel 的刀片视图中显示/隐藏选择选项。

我将模型($assessments)传递给视图:

[{"id":1,"user_id":1,"name":"Appointment 1","created_at":"2018-03-31 00:00:00","updated_at":"2018-03-31 00:00:00"},{"id":2,"user_id":1,"name":"Appointment 2","created_at":"2018-03-31 00:00:00","updated_at":"2018-03-31 00:00:00"}]

在我的观点中:

<select name="assessment" required>
                <option selected>Select...</option>
                @foreach($assessments as $assessment)

                    @if ($assessment->name == 'Appointment 1')
                        <option value="Appointment 1">Appointment 1</option>
                    @endif

                    @if ($assessment->name == 'Appointment 2')
                        <option value="Appointment 2">Appointment 2</option>
                    @endif

                    @if ($assessment->name == 'Appointment 3')
                        <option value="Appointment 3">Appointment 3</option>
                    @endif

                @endforeach
                <option value="Follow Up Phone Call">Follow Up Phone Call</option>
                <option value="Home Assessment">Home Assessment</option> -->
            </select>

如果if语句等于True,不知道能不能在foreach循环中放一个continue绕过?否则,它会多次显示循环中的值。

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    假设在控制器中,您已经获得了结果并将其放入$assesments 变量中。您可以做的一件事是您可以定义一个新数组并将其发送到您的视图:

    $assesmentNames = [];
    foreach($assesments as $assesment) {
      $assesmentNames[$assesment->name] = $assesment->name;
    }
    return view('myview', compact('assesments', 'assesmentNames'));
    

    现在重复项自动消失了。然后在您的视图中执行此操作:

    @foreach($assessmentNames as $assessmentName)
      <option value="{{ $assessmentName }}"> {{ $assessmentName }} </option>
    @endforeach
    

    【讨论】:

    • 谢谢你,这真的很棒。但是我希望隐藏在视图中选择的选定选项?因此,如果您选择“约会 1”,它将在下次选择选项中隐藏。
    • 我已经完成了,干杯 :-) 我刚刚从数组中取消设置选定的选项。
    • @Chev 很高兴听到这个消息:)
    【解决方案2】:

    如果你想跳过特定的迭代,你可以在循环内的简单 php 标记中使用“继续”语句

    【讨论】:

      猜你喜欢
      • 2018-04-04
      • 2017-11-13
      • 2016-04-05
      • 2016-06-29
      • 1970-01-01
      • 2023-03-08
      • 2017-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多