web-dev-qa-db-fra.com

Définition de l'option sélectionnée sous forme de laravel

J'ai besoin de donner une valeur sélectionnée comme ceci:

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

comment puis-je y parvenir avec les formes laravel?

13
Min Khant Lu

utilisez ce paquet et vérifiez la documentation:

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

vous formez html, vous devez utiliser cette marque 

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

Tout le monde parle de vous, utilisez {!! Form::select() !!} , Mais si vous avez simplement besoin d'utiliser du langage HTML simple et simple, voici une autre façon de le faire.

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

la fonction old() est utile lorsque vous soumettez le formulaire et que la validation échoue. Ainsi, old() renvoie la valeur précédemment sélectionnée.

28
lucasvscn

Vous devez définir l'option par défaut en passant un troisième argument.

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

Vous pouvez lire la documentation ici.

9
Chonchol Mahmud

La définition de l’option sélectionnée est très simple, sous forme de laravel:

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

La sortie sera: 

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

Un autre moyen simple c'est bien s'il y a peu d'options dans la zone de sélection

<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

Vous pouvez le faire comme ça.

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

Pour reprendre d'autres réponses ici, le code que je viens d'utiliser avec 5.6 est le suivant:

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

Pour pouvoir utiliser l’assistant de formulaire de LaravelCollective, j’ai jeté un œil à https://laravelcollective.com/docs/master/html#drop-down-lists

Je devais aussi composer besoin de la dépendance pour que je puisse l'utiliser dans mes projets

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

Enfin, j'ai modifié mon config/app.php et ajouté les éléments suivants dans le tableau $aliases

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

https://laravelcollective.com/docs/master/html doit être consulté si l'un des éléments ci-dessus cesse de fonctionner.

1
MrMesees
            @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