2016-07-18 26 views
0

配列に基づいて選択ボックスをあらかじめ入力する際に​​問題が発生しています。今私は私の視野に次のような配列を渡しています以前の選択肢に基づいて選択肢を動的に入力する

array:4 [▼ 
    "folder1" => array:1 [▶] 
    "folder2" => array:2 [▶] 
    "folder3" => array:1 [▶] 
    "folder4" => array:1 [▼ 
    "product1" => array:1 [▼ 
     2016 => array:1 [▼ 
     "March" => array:1 [▼ 
      0 => "image1.png" 
     ] 
     ] 
    ] 
    "product2" => array:1 [▼ 
     2015 => array:1 [▼ 
     "June" => array:1 [▼ 
      0 => "image1.png" 
     ] 
     ] 
    ] 
    ] 
] 

ここで私はfolder4に興味があります。私は4つの選択入力を持つことを予定しています。最初の製品は、製品を表示する必要があります。製品は、folder4のルート内にあるフォルダです。

上記の例では、この選択でproduct1とproduct2が表示されます。

2番目の選択には年が表示されます。年は製品内のフォルダです。 3番目の選択には月が表示されます。月は、年のフォルダ内のフォルダです。

最後に画像の名前を選択してください。

これはおそらくforeachループ内にある必要があります。なぜなら、最初の選択ボックスでproduct2を選択すると、次の選択ボックスはproduct1フォルダからの年ではなく、2015年だけでなければならないからです。私は時間にこの時点で午前ところですが、それは私が(にhtmlentitiesを取得しています現時点ではかなりの方法

<select class="selectpicker" name="productType"> 
    @foreach($fileData as $type => $product) 
     @if($type == "folder4") 
      @foreach($product as $name => $year) 
       <option value="{{ $name }}">{{ $name }}</option> 
      @endforeach 
     @endif 
    @endforeach 
</select> 

オフ)パラメータ1は、文字列、配列を指定することを期待しています。この選択はproduct1とproduct2を表示します。また、以前選択したものに基づいて他の選択肢を動的にする必要がありますか?したがって、商品1を選択すると、次の選択ボックスには2016年のみが表示されます。

アドバイスありがとうございます。

ありがとう

+0

あなたはAJAXリクエストに精通していますか? – theMohammedA

+0

はい、この場合はどうしてこの問題になりますか? –

+0

選択した内容に基づいてajaxリクエストを行い、次の選択値を取得することもできます。 – theMohammedA

答えて

0

このロジックはクライアントに実装する必要があります。したがって、jsonのすべての必要なデータをWebページにダンプしてから、JavaScriptやその他のコードで選択に基づいてWebページの選択要素をレンダリングします。サーバー上でこれを行う

が可能であるが、非常に古い学校と退屈な1 ...

+0

申し訳ありませんが、ちょっと混乱していますか、詳しく教えてください。 –

+0

現在、Laravel/Serversideはあなたの問題を解決する一般的な場所ではありません。 laravelはjsonとして配列データをjavascriptスクリプト要素にエコーします: '' ' '' 'そこからデータを取得し、ユーザのブラウザにselect入力を生成する何らかのjavascriptを作成する必要があります。 – Kjell

関連する問題