Итак, я понял это благодаря источнику , предоставленному Филиппом. В конце концов, ответ был довольно прост.
Все, что я сделал, это добавил {{ old('sport') == "$sport->id" ? 'selected' : '' }}
внутри тега <option>
в поле выбора, внутри foreach
l oop. Однако эта строка была немного изменена для формы редактирования, поскольку там сначала нужно извлечь значения из базы данных, а затем изменить из «старого» выбора.
Создать форма:
<div id="event-sport">
<span>Sport:</span>
<select name="sport">
<option value="default" selected="selected" disabled hidden>Select Sport</option>
@foreach($sports as $sport)
<option value="{{ $sport->id }}" {{ old('sport') == "$sport->id" ? 'selected' : '' }} title="{{ $sport->desc }}">{{ $sport->name }}</option>
@endforeach
</select>
@if ($errors->has('sport'))
<span id="error-msg" style="color:red; font-size:1.5vh;"><br>{{ 'Please select a sport' }}</span>
@endif
</div>
Редактировать из:
<div id="event-sport">
<span>Sport:</span>
<select name="sport">
<option value="{{$event->sport->id}}" selected="selected" disabled hidden>{{$event->sport->name}}</option>
@foreach($sports as $sport)
<option value="{{ $sport->id }}" {{ $event->sport->id == "$sport->id" ? 'selected' : '' }} title="{{ $sport->desc }}">{{ $sport->name }}</option>
@endforeach
</select>
@if ($errors->has('sport'))
<span id="error-msg" style="color:red; font-size:1.5vh;"><br>{{ 'Please select a sport' }}</span>
@endif
</div>
Обратите внимание, как в Редактировать форма, дополнение к <option>
тег {{ $event->sport->id == "$sport->id" ? 'selected' : '' }}
.