Установка выбранного параметра в форме laravel

Мне нужно дать выбранное значение, подобное этому html:

<select name="myselect" id="myselect">
 <option value="1">Item 1</option>
 <option value="2" selected='selected'>Item 2</option>

как я могу достичь этого, с формами laravel?

Ответ 1

используйте этот пакет и проверьте документы:

https://laravelcollective.com/docs/5.2/html#drop-down-lists

   Форма HTML, вам нужно использовать эту отметку

{!! Form::select('size', array('L' => 'Large', 'S' => 'Small'), 'S'); !!}

Ответ 2

Все говорят о вас, используя {!! 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']) }}

Вы можете прочитать документацию здесь.

Ответ 4

Вы можете сделать это так.

<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>

Ответ 5

Другой обычный простой способ, это хорошо, если в поле выбора есть несколько опций

<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>

Ответ 6

Настройка выбранной опции очень проста в форме 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>

Ответ 7

Чтобы повторить некоторые другие ответы здесь, код, который я только что использовал с 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 следует проконсультироваться, если что-либо из вышеперечисленного перестает работать.

Ответ 8

            @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    

Ответ 9

Просто вставьте этот код, и вы получите нужный вам результат.

 {{ Form::select ('myselect', ['1' => 'Item 1', '2' => 'Item 2'], 2 , ['id' =>'myselect']) }}` `

Ответ 10

Если у вас есть красноречивые отношения между вашими моделями, вы можете сделать что-то вроде этого:

@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

Ответ 11

Вы также можете попробовать это для ограниченных возможностей:

          <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>