我要做的是转换带有多个选项的标准刀片选择表单,您必须选择ctrl按下的选项,使用复选框选择多个选项。
我的表格如下:
{!! Form::open(array('action' => 'UserController@visit_step_two', 'method' => 'post')); !!}
{!! Form::select('services', $servicesList, null, array('multiple'=>'multiple','name'=>'services[]')); !!}
{!! Form::submit('Next'); !!}
{!! Form::close(); !!}
我应该怎么做才能改变它?
答案 0 :(得分:1)
Form::select()
接收一个数组或集合,然后迭代它以生成所有<select>
元素的选项。如果要使用复选框,则需要手动迭代以创建每个复选框:
{!! Form::open(array('action' => 'UserController@visit_step_two', 'method' => 'post')); !!}
@foreach ($servicesList as $value => $name)
{!! Form::checkbox('services[]', $value, ['id' => 'service' . $value]); !!}
{!! Form::label('service' . $value, $name) !!}
@endforeach
{!! Form::submit('Next'); !!}
{!! Form::close(); !!}
上面将创建一个表单,其中包含附加了标签的复选框列表。添加了id
属性,以便您也可以单击标签以选中相关的复选框,因为Form::label()
的第一个参数将用于生成{for
属性<label>
1}}与复选框<input>
字段相关联,id
具有相同的值,并且由于id
必须是唯一的,因此使用类似{{{1}的值生成1}}因为所有值也应该是唯一的。
答案 1 :(得分:0)
你需要jquery插件才能做到这一点,或者你可以编写自己的插件。
我知道插件是多选http://wenzhixin.net.cn/p/multiple-select/docs/#checkall-uncheckall