Laravel搜索过滤器

时间:2019-12-28 13:59:36

标签: laravel crud

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

我在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>

2 个答案:

答案 0 :(得分:0)

更改值时使用jQuery提交表单 这样您的页面就会刷新,您会得到想要的

答案 1 :(得分:0)

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

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