在 Laravel 项目中使用 checkbox 元素实现单选的时候,可能会遇上不知道如何界定一个 checkbox 是在哪种状态之下,这个时候,可以尝试下面的小技巧:
在 checkbox 上面创建一个一样的 hidden 类型的 input 表单
具体如下:
1.使用 Form package
{{ Form::hidden('approved',0) }}
{{ Form::checkbox('approved',1) }}
主要上面的两个 name 的字段是一致的。
2.原生的 html
<input type="hidden" name="approved" value="0">
<input type="checkbox" name="approved" value="1">
然后在控制器获取值的时候可以这样:
$value = $request->get('approved', 0); // 注意第二个参数 0 为默认值
然后在这种情况下,如果用户勾选了 checkbox ,则这个值会覆盖 hidden 表单的值,所以获取到的值是 1;如果没勾选,就直接是 0 了。
Happy Hacking