Выбранная запись в форме редактирования laravel не работает

#php #laravel

#php #laravel

Вопрос:

Я пишу одно приложение в Laravel framework.

Я пытаюсь выбрать опцию в поле выбора на экране редактирования. выбранное слово добавляется в опцию, но поле выбора по-прежнему не отображает выбранное значение при загрузке страницы.

Вот фрагмент кода для того же:

 <select id="language" name="language" value="en" class="fullwidth mdl-selectfield__select">
      <option value="de" {{($user->language == "de") ? 'selected' : ''}}>Deutsch</option>
      <option value="en" {{($user->language == "en") ? 'selected' : ''}}>English</option>
      <option value="fr" {{($user->language == "fr") ? 'selected' : ''}}>Français</option>
      <option value="nl" {{($user->language == "nl") ? 'selected' : ''}}>Nederlands</option>
</select>
  

Здесь значение $user->language равно ‘fr’.

Пожалуйста, дайте мне знать, что не так в этом коде.

Спасибо.

С уважением, Салони

Ответ №1:

Здесь вы можете использовать два подхода: либо вывести ее из фигурных скобок (требуется небольшая поправка для исправления вашего кода), либо использовать директиву blade @if . Примеры обоих были включены ниже:

Исправленная версия вашего кода (выбрано = «выбрано»):

 <select id="language" name="language" value="{{ $user->language }}" class="fullwidth mdl-selectfield__select">
  <option value="de" {{($user->language == "de") ? 'selected="selected"' : ''}}>Deutsch</option>
  <option value="en" {{($user->language == "en") ? 'selected="selected"' : ''}}>English</option>
  <option value="fr" {{($user->language == "fr") ? 'selected="selected"' : ''}}>Français</option>
  <option value="nl" {{($user->language == "nl") ? 'selected="selected"' : ''}}>Nederlands</option>
  

Директива Blade @if:

 <select id="language" name="language" value="{{ $user->language }}" class="fullwidth mdl-selectfield__select">
  <option value="de" @if($user->language == "de") selected @endif>Deutsch</option>
  <option value="en" @if($user->language == "en") selected @endif>English</option>
  <option value="fr" @if($user->language == "fr") selected @endif>Français</option>
  <option value="nl" @if($user->language == "nl") selected @endif>Nederlands</option>
  

Комментарии:

1. проблема связана со значением =»en» в выборе, которое необходимо удалить, чтобы увидеть фактический выбор