Laravel - 形成 select 倍数

Laravel - Form select multiple

我想做的是将带有多个选项的标准 Blade select 格式转换为 select 带有 ctrl 的选项,然后使用复选框 select 多个选项选择。

我的表格是这样的:

{!! 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(); !!}

我应该怎么做才能改变它?

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 属性,以便您还可以单击标签以 select 关联的复选框,因为 Form::label() 的第一个参数将用于生成 for 属性<label><label> 与复选框 <input> 字段相关联,该字段与 id 具有相同的值,并且由于 id 必须是唯一的,因此它是使用值生成的像这样 'service' . $value 因为所有值也应该是唯一的。

您需要 jquery 插件来执行此操作,或者您可以编写自己的插件。

我知道一个插件是Multiple Select http://wenzhixin.net.cn/p/multiple-select/docs/#checkall-uncheckall