【发布时间】:2019-11-14 10:15:47
【问题描述】:
我想要做的是一个过滤单选按钮。当用户基于特定年份应用过滤器时,它会进入控制器以基于该年份过滤数据结果并返回具有新值的视图。但是当页面刷新时,会反映按年份过滤的值,只是单选按钮没有被选中,默认的全部单选按钮是检查。
我所做的是根据单击的单选按钮的值将单选按钮的 id 存储在控制器的 Session 中。如果单选按钮的 id 与会话中存储的 id 匹配,则应检查该单选按钮。
Index.blade.php
<label>
<input type="radio" name="year" id="tab" value="_all" class="flat-red filter" checked="checked"> All
</label>
@foreach ($years as $year)
<label>
<input type="radio" name="year" id="id{{$year->year}}" value="{{ $year->year }}" class="flat-red filter" checked = {{ Session::get('radio') == "id{{$year->year}}" ? 'checked' : 'false' }}> {{$year->year}}
</label>
@endforeach
<button type="submit" class="btn btn-primary btn-sm pull-right">Apply Filter</button>
StatisticsController.php
session(['radio' => 'id'.request('year')]);
return view('statistics.index', $counts, compact('years'));
我遇到的错误
syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM)
我尝试过的方法, 1. 使用JS查看点击了哪个单选按钮并保存在本地会话中。
我做错了什么或错过了什么?
【问题讨论】:
-
哪一行抛出该错误?您尝试过什么来调试此问题?
-
year}}" ? 'checked' : 'false' }}> {{$year->year}} 来自这行代码
-
你试过这样比较吗?
checked = {{ session('radio') == "id".$year->year ? 'checked' : 'false' }}