Search code examples
laravellaravel-5.3

Getting old value in dropbox


How do i get value="{{ old('gender') }}" with dropdown?

I have name field:

<input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}" required autofocus>

which gives the old value if the form is rejected due to invalid validations: But How can i get what user selected before validation in dropdown box? value="{{ old('name') }}" is not working.

<label>Region:</label>
<select  name="region" id="region" value="{{ old('region') }}"  class="form-control" required>
     <option value="" disabled selected>--Select a Region--</option>
     @foreach($region as $reg)
          <option value="{{$reg->id}}">{{$reg->region_name}}</option>
     @endforeach       
</select>

Solution

  • You need to check the value on every option of your dropdown and add the selected attribute if it is a match.

    Like so:

    <select name="region" id="region" class="form-control" required>
        <option value="" disabled {{ empty(old('region')) ? 'selected' : '' }}>--Select a Region--</option>
        @foreach($region as $reg)
            <option value="{{$reg->id}}" {{ old('region') == $reg->id ? 'selected' : '' }}>
                {{$reg->region_name}}
            </option>
        @endforeach       
    </select>