Мне нужно дать выбранное значение, подобное этому html:
<select name="myselect" id="myselect">
<option value="1">Item 1</option>
<option value="2" selected='selected'>Item 2</option>
как я могу достичь этого, с формами laravel?
Мне нужно дать выбранное значение, подобное этому 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()
возвращает ранее выбранное значение.
Вы должны установить опцию по умолчанию, передав третий аргумент.
{{ 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>
Чтобы повторить некоторые другие ответы здесь, код, который я только что использовал с 5.6 это
{{ Form::select('status', ['Draft' => 'Draft', 'Sent' => 'Sent', 'Paid' => 'Paid'], $model->status, ['id' => 'status']) }}
Чтобы использовать Помощник по формам из LaravelCollective, я заглянул на https://laravelcollective.com/docs/master/html#drop-down-lists.
Мне также пришлось композитору требовать зависимости также, чтобы я мог использовать ее в своих проектах
composer require "laravelcollective/html":"^5"
Наконец, я изменил свой config/app.php
и добавил следующее в массив $aliases
'Form' => Collective\Html\FormFacade::class,
https://laravelcollective.com/docs/master/html следует проконсультироваться, если что-либо из вышеперечисленного перестает работать.
@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
Просто вставьте этот код, и вы получите нужный вам результат.
{{ Form::select ('myselect', ['1' => 'Item 1', '2' => 'Item 2'], 2 , ['id' =>'myselect']) }}` `
Если у вас есть красноречивые отношения между вашими моделями, вы можете сделать что-то вроде этого:
@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
Вы также можете попробовать это для ограниченных возможностей:
<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>