【问题标题】:Laravel search-filterLaravel 搜索过滤器
【发布时间】:2019-12-28 13:59:36
【问题描述】:

我在通过单击将所选索引传递给我的控制器时遇到问题。 如果我在浏览器中手动更改索引,它就可以工作。 (http://localhost:3000/admin/users?user=&sortBy=5) $sortOptions 是我的控制器中二维数组的名称。 sortDisplay 是我控制器中二维数组中的一个字段。

我的 foreach 循环中是否遗漏了什么?

<label for="sortBy">Sort by</label>
            <select class="form-control" name="sortBy" id="sortBy">
                @foreach($sortOptions as $index => $sortOptions)
                    <option value="{{$index}}" {{ (request()->sortBy == $index ? 'selected' : '') }}>
                        {{$sortOptions["sortDisplay"]}}
                    </option>
                @endforeach
            </select>

【问题讨论】:

    标签: laravel crud


    【解决方案1】:

    当值改变时使用 jQuery 提交表单 所以你的页面会刷新,你会得到你想要的

    【讨论】:

      【解决方案2】:

      foreach 循环中,您分配的变量名称与您正在迭代的变量相同。在您的情况下,在第一个循环之后,您使用$sortOptions 的第一个索引的内容重新实例化$sortOptions 变量。

      @foreach($sortOptions as $index => $sortOption) // <-- $sortOption, not $sortOption(s)
          <option value="{{$index}}" {{ (request()->sortBy == $index ? 'selected' : '') }}>
              {{ $sortOption["sortDisplay"] }}
          </option>
      @endforeach
      

      【讨论】:

      • 当我改变它时不会改变任何东西。
      • 好的,但请注意变量名可能产生的副作用。
      猜你喜欢
      • 1970-01-01
      • 2017-02-14
      • 1970-01-01
      • 2020-10-17
      • 1970-01-01
      • 2013-08-10
      • 1970-01-01
      • 2019-09-02
      相关资源
      最近更新 更多