it-swarm.com.de

Einstellung der ausgewählten Option in Laravel-Form

Ich muss den ausgewählten Wert wie diesen HTML-Code angeben:

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

wie kann ich das mit Laravelformen erreichen?

13
Min Khant Lu

verwenden Sie dieses Paket und überprüfen Sie die Dokumente:

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

wenn Sie HTML schreiben, müssen Sie diese Markierung verwenden 

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

Alle, die über Sie sprechen, verwenden {!! Form::select() !!} Wenn Sie jedoch nur einfaches HTML verwenden möchten, können Sie dies auch tun.

<select name="myselect">
@foreach ($options as $key => $value)
    <option value="{{ $key }}"
    @if ($key == old('myselect', $model->option))
        selected="selected"
    @endif
    >{{ $value }}</option>
@endforeach
</select>

die Funktion old() ist hilfreich, wenn Sie das Formular absenden und die Überprüfung fehlschlägt. Damit gibt old() den zuvor ausgewählten Wert zurück.

28
lucasvscn

Sie müssen die Standardoption festlegen, indem Sie ein drittes Argument übergeben.

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

Die Dokumentation können Sie hier lesen.

9
Chonchol Mahmud

Die Einstellung der ausgewählten Option ist in Laravel-Form sehr einfach:

{{ Form::select('number', [0, 1, 2], 2) }}

Ausgabe wird sein: 

<select name="number">
  <option value="0">0</option>
  <option value="1">1</option>
  <option value="2" selected="selected">2</option>
</select>
2
Hiren Makwana

Ein anderer gewöhnlicher einfacher Weg das ist gut, wenn die Auswahlbox nur wenige Optionen enthält

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

Sie können es so machen.

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

Um einige andere Antworten hier wiederzugeben, ist der Code, den ich gerade mit 5.6 verwendet habe, dieser

{{ Form::select('status', ['Draft' => 'Draft', 'Sent' => 'Sent', 'Paid' => 'Paid'], $model->status, ['id' => 'status']) }}

Um den Form Helper von LaravelCollective nutzen zu können, habe ich mir folgende Dateien angesehen: https://laravelcollective.com/docs/master/html#drop-down-lists

Ich musste auch die Abhängigkeit vom Komponisten verlangen, damit ich sie in meinen Projekten verwenden konnte

composer require "laravelcollective/html":"^5"

Zuletzt änderte ich meinen config/app.php und fügte dem $aliases-Array folgendes hinzu

    'Form' => Collective\Html\FormFacade::class,

https://laravelcollective.com/docs/master/html sollte konsultiert werden, wenn eine der oben genannten Funktionen nicht mehr funktioniert.

1
MrMesees

Sie können dies auch für eingeschränkte Optionen versuchen:

          <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>
0
Nikunj V
            @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    
0

Wenn Sie eine eloquente Beziehung zwischen Ihren Modellen haben, können Sie so etwas tun:

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

Fügen Sie einfach diesen Code ein, um die gewünschte Ausgabe zu erhalten.

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