我有简单的形式:检索选中的复选框,Laravel 5.2
<form action="some_action" method="post">
<input type="checkbox" name="data[]" value="Data 1"/>
<input type="checkbox" name="data[]" value="Data 2"/>
<input type="checkbox" name="data[]" value="Data 3"/>
<button type="submit">Submit</button>
</form>
值在数组存储,
$data = new data();
$data->checkboxes = json_encode($request->all());
$data->save();
像
0 => "Data 1",
1 => "Data 2",
2 => "Data 3"
现在,我需要找回复选框州。我传递到视图解码JSON:
$storedCheckboxes = json_decode($data->checkboxes);
return view('some.view')->with('storedCheckboxes', $storedCheckboxes);
并设法得到它在刀片:
<input name="data[]" type="checkbox" {{ old('data', $storedCheckboxes->checkboxes[0]) === 'Data 1' ? 'checked' : '' }}/>
但我认为这是错误的方式,因为在刀片我应该硬编码阵列位置。它的工作,但只有当位置存在。
复选框状态?如果没有被选中,它将不在请求中。您已经在处理一个数组,只需使用'in_array()'来查看该键是否存在。 – Blake
是的。我有5个复选框,例如,我只检查2个。所以,我需要从5个状态中获取状态。从他们中选择了哪些选项并取消选中。 –