このhtmlのように選択した値を指定する必要があります。
<select name="myselect" id="myselect">
<option value="1">Item 1</option>
<option value="2" selected='selected'>Item 2</option>
laravelフォームでこれを達成するにはどうすればよいですか?
このパッケージを使用してドキュメントを確認してください:
https://laravelcollective.com/docs/5.2/html#drop-down-lists
htmlから、このマークを使用する必要があります
{!! Form::select('size', array('L' => 'Large', 'S' => 'Small'), 'S'); !!}
あなたのことを話している人はすべて{!! Form::select() !!}
を使用しますが、必要なのは単純な単純なHTMLを使用することだけです。
<select name="myselect">
@foreach ($options as $key => $value)
<option value="{{ $key }}"
@if ($key == old('myselect', $model->option))
selected="selected"
@endif
>{{ $value }}</option>
@endforeach
</select>
old()
関数は、フォームを送信して検証が失敗したときに役立ちます。そのため、old()
は以前に選択した値を返します。
3番目の引数を渡すことにより、デフォルトオプションを設定する必要があります。
{{ Form::select('myselect', [1, 2], 2, ['id' => 'myselect']) }}
ドキュメントを読むことができますここ
このようにすることができます。
<select class="form-control" name="resoureceName">
<option>Select Item</option>
@foreach ($items as $item)
<option value="{{ $item->id }}" {{ ( $item->id == $existingRecordId) ? 'selected' : '' }}> {{ $item->name }} </option>
@endforeach </select>
別の通常の簡単な方法これは、選択ボックスにオプションがほとんどない場合に適しています
<select name="job_status">
<option {{old('job_status',$profile->job_status)=="unemployed"? 'selected':''}} value="unemployed">Unemployed</option>
<option {{old('job_status',$profile->job_status)=="employed"? 'selected':''}} value="employed">Employed</option>
</select>
選択したオプションの設定はlaravel形式で非常に簡単です:
{{ Form::select('number', [0, 1, 2], 2) }}
出力は次のようになります。
<select name="number">
<option value="0">0</option>
<option value="1">1</option>
<option value="2" selected="selected">2</option>
</select>
@foreach ($categories as $category)
<option value="{{$category->id}}"
@foreach ($posts->postRelateToCategory as $Postcategory)
@if ($Postcategory->id == $category->id)
{{'selected="selected"'}}
@endif
@endforeach >
{{ $category->category_name }} </option>
@endforeach
ここに他のいくつかの答えをエコーするために、5.6で使用したコードはこれです
{{ Form::select('status', ['Draft' => 'Draft', 'Sent' => 'Sent', 'Paid' => 'Paid'], $model->status, ['id' => 'status']) }}
LaravelCollectiveのForm Helperを使用できるようにするために、 https://laravelcollective.com/docs/master/html#drop-down-lists を見てみました。
また、プロジェクトで使用できるように、依存関係もcomposer要求する必要がありました。
composer require "laravelcollective/html":"^5"
最後に、config/app.php
を変更し、$aliases
配列に以下を追加しました
'Form' => Collective\Html\FormFacade::class,
https://laravelcollective.com/docs/master/html 上記のいずれかが機能しなくなった場合は、相談する必要があります。
限られたオプションでこれを試すこともできます:
<select class="form-control required" id="assignedRole">
<option id = "employeeRole" selected ="@if($employee->employee_role=='Employee'){'selected'}else{''} @endif">Employee</option>
<option id = "adminRole" selected ="@if($employee->employee_role=='Admin'){'selected'}else{''} @endif">Admin</option>
<option id = "employerRole" selected ="@if($employee->employee_role=='Employer'){'selected'}else{''} @endif">Employer</option>
</select>
モデル間にEloquent Relationshipがある場合、次のようなことができます。
@foreach ($ships as $ship)
<select name="data[]" class="form-control" multiple>
@foreach ($goods_containers as $container)
<option value="{{ $container->id }}"
@if ($ship->containers->contains('container_id',$container->id ) ))
selected="selected"
@endif
>{{ $container->number}}</option>
@endforeach
</select>
@endforeach
このコードを貼り付けるだけで、必要な出力が得られます。
{{ Form::select ('myselect', ['1' => 'Item 1', '2' => 'Item 2'], 2 , ['id' =>'myselect']) }}` `