我知道这个问题之前已经回答过,在这个问题中,我将逐步解释如何使用Laravel /blade在不同情况下实现复选框...
因此,为了从数据库加载复选框或测试是否选中了复选框:
首先,您需要了解它的工作原理,如前所述@itachi:
{{ Form::checkbox( 1st argument, 2nd argument, 3rd argument, 4th argument ) }}
- 第一个参数:名称
- 第二个参数:值
- 第三个参数:检查或未检查这需要:真或假
- 第四个参数:附加属性(例如,复选框 css classe)
例:
{{ Form::checkbox('admin') }}
//will produces the following HTML
<input name="admin" type="checkbox" value="1">
{{ Form::checkbox('admin', 'yes', true) }}
//will produces the following HTML
<input checked="checked" name="admin" type="checkbox" value="yes">
如何获取复选框值?( 在您的控制器中 )
方法 1 :
public function store(UserCreateRequest $request)
{
$my_checkbox_value = $request['admin'];
if($my_checkbox_value === 'yes')
//checked
else
//unchecked
...
}
方法 2 :
if (Input::get('admin') === 'yes') {
// checked
} else {
// unchecked
}
注意:您需要为未选中的框分配默认值:
if(!$request->has('admin'))
{
$request->merge(['admin' => 0]);
}
这很好吧?但是我们如何在我们的视图中设置复选框?
为了便于实践,我建议您在创建表单时使用,这将自动填充与模型同名的输入值(以及使用不同的 Blade Form:: inputs ..)Form::model
{!! Form::model( $user, ['route' => ['user.update', $user->id], 'method' => 'put' ]) !!}
{!! Form::checkbox('admin', 1, null) !!}
{!! Form::close() !!}
你也可以这样得到它:
{{ Form::checkbox('admin',null, $user->admin) }}
奥基现在如何处理:
- 多重复选框
- 添加 css 类
- 添加复选框 ID
- 添加标签
假设我们想从数据库中获取工作日
$working_days = array( 0 => 'Mon', 1 => 'Tue', 2 => 'Wed',
3 => 'Thu', 4 => 'Fri', 5 => 'Sat', 6 => 'Sun' );
@foreach ( $working_days as $i => $working_day )
{!! Form::checkbox( 'working_days[]',
$working_day,
!in_array($working_days[$i],$saved_working_days),
['class' => 'md-check', 'id' => $working_day]
) !!}
{!! Form::label($working_day, $working_day) !!}
@endforeach
//$saved_working_days is an array of days (have 7 days, checked & unchecked)
我花了一段时间来弄清楚如何处理多个复选框,我希望这可以帮助某人:)