首页 > 解决方案 > Laravel Blade - 如何在提交后使复选框保持选中状态

问题描述

我想创建一个功能来过滤数据。我使用复选框来执行此操作。但是我想要选择复选框后,然后用户提交以过滤数据时,仍然选择了先前选择的复选框。

我试着这样做,但没有奏效

<input type="checkbox" id="ac" name="ac" value="ac" @if(old('ac')) checked @endif>

我提交的表单方法是 GET。

标签: htmllaravelcheckboxlaravel-blade

解决方案


old()帮助函数仅用于保存的闪存会话数据。如果不将其保存在 Flash 会话中,您将无法检索它。old()为函数保存闪存数据的示例

request()->flashOnly(['ac']);

或者

return redirect('form')->withInput();

如果您使用 GET 方法并且在提交后没有重定向,您可以使用request()辅助函数来完成。像这样:

<input type="checkbox" id="ac" name="ac" value="ac" @if(request()->ac) checked @endif>

推荐阅读