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?
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'); !!}
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.
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.
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>
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>
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>
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.
@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