2016-04-09 44 views
2

私がしようとしているのは、複数のオプションを持つ標準のBlade選択フォームを変換することです。複数のオプションを選択するには、Ctrlキーを押しながらオプションを選択する必要があります。Laravel - 複数選択フォーム

私のフォームは、次のようになります。

{!! Form::open(array('action' => '[email protected]_step_two', 'method' => 'post')); !!} 
    {!! Form::select('services', $servicesList, null, array('multiple'=>'multiple','name'=>'services[]')); !!} 
    {!! Form::submit('Next'); !!} 
    {!! Form::close(); !!} 

私はそれを変更するにはどうすればよいですか?

+0

http://wenzhixin.net.cn/p/multiple-select/docs/#checkall-uncheckallを選択し、複数の知っている、あなたは、ドロップダウンの下のチェックボックスを持ちたい、それがクリックされた場合は、複数のオプションがそのように選択する必要があります。それが間違って理解できれば申し訳ありません –

答えて

1

Form::select()は配列またはコレクションを受け取り、それを反復してすべての<select>要素のオプションを生成します。あなたの代わりにチェックボックスを使用したい場合は、それぞれのチェックボックスを作成するには、手動で繰り返し処理する必要があります。

{!! Form::open(array('action' => '[email protected]_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()の最初のパラメータは、<label>for属性を生成するために使用され、同じ値を持つチェックボックス<input>フィールドに関連付けられていますidの場合、idは一意でなければならないので、すべての値も一意でなければならないので、'service' . $valueのような値を使用して生成されます。

0

これを行うにはjqueryプラグインが必要です。また、独自のプラグインを作成することもできます。

私はプラグインがあなたが意味