我无法通过单击将所选索引传递给我的控制器。 如果我在浏览器中手动更改索引,则它可以正常工作。 (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>
答案 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