2017-01-26 13 views
1

私はPHPアプリケーション(Laravel 5.2)を持っています...私は選択した複数を含むフォームを持っています、それはコントローラに正しく送信され、次にコントローラに私は情報に基づいていくつかの操作を行いますそのフォーム(正確には検索フォーム)でユーザーが覚えて、私はビューに新しい情報を送ってそこに再びフォームを印刷しますが、データで再度入力します。私が意味する が、今私が以前に選択したオプションをあらかじめ選択すると、ユーザは、まず送信することができます:PHPでフォームの事前選択オプション

[「最古」、「評価」]

私は再びPHP変数にその配列を持っていますビューではなく、PHPでどのように事前に選択することができます。私はこれを達成するためのエレガントできれいな方法を探しています。前もって感謝します!

EDITED:

これは私のフォームです:

<form action="myaction" method="post"> 
<div class="form-group"> 
    <input type="text" name="name" class="form-control" placeholder="File name"> 
</div> 
<select name="orderBy[]" multiple="multiple" class="form-control form-group" data-placeholder="Order by" style="width: 100%;"> 
    <option value="oldest">Oldest</option> 
    <option value="latest">Latest</option> 
    <option value="rating">Rating</option> 
    <option value="poster">Poster</option> 
</select> 
</form> 

答えて

4

は、私は、あなたは間違いなくあなたの人生を容易にしますLaravelコレクティブForm::select()

{!! Form::select('size', $dataArray, $selectedArray, ['multiple' => true]) !!} 
+1

ありがとうございました!それは素晴らしい方法です! –

1

Laravelの集団を使用することをお勧めします。

しかし、何をする必要があるだろうことはオプションのための「選択」属性を設定されて尋ねた質問に答えるための努力のユーザーがすでに選択しました:

<option value="oldest"<?php echo in_array('oldest', $user_values_array) ? ' selected' : ''; ?>>Oldest</option> 

・ホープ、このことができますが!

0

オプションがハードコードされており、などのループであなたは試みることができるではない場合:次に

$myselection = ["oldest","rating"]; 

<option @if(in_array('oldest', $myselection) selected @endif>oldest</option> 
<option @if(in_array('latest', $myselection) selected @endif> latest </option> 
を試してみてくださいcoudl:

は、ビューに送信され、あなたの変数/配列があると言いますブレードに基づいて

、テストされていないのであまり確かではありません!

関連する問題