Laravel 5 - предварительно заполнить выбор HTML, используя значение базы данных и старый - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь использовать 'old' в приложении Laravel 5, чтобы предварительно заполнить форму выбора на маршруте редактирования следующим образом ...

<select id="category" name="category" required>
    <option value="">Select</option>
    <option value="animal" @if (old('category') == "animal") {{ 'selected' }} @endif>Animal</option>
    <option value="vegetable" @if (old('category') == "vegetable") {{ 'selected' }} @endif>Vegetable</option>
    <option value="mineral" @if (old('category') == "mineral") {{ 'selected' }} @endif>Mineral</option>
</select>

Это работает хорошо и сохраняет выбранную опцию, еслипроверка не пройдена, но я пытаюсь заставить ее работать так, чтобы она заполнялась при первой загрузке страницы.

Как определить, является ли это первой загрузкой страницы редактирования или она была перезагруженапосле сбоя проверки?Или есть лучший способ сделать это?

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Предположим, что вы отправили значение category как $category.
Так что в каждом теге <option>

<option value="animal" 
    {{ old('category') == 'animal' ? ' selected' :
        $category == 'anumal' ? ' selected' : '' }}>
            Animal
</option>

Вот что происходит:

if there is an old value and its matching, select this,
else if the original value is matching select this,
else do nothing.
0 голосов
/ 05 октября 2018

Используйте второй параметр функции old со значением по умолчанию / начальным значением:

<option value="animal" @if (old('category', 'animal') == "animal") {{ 'selected' }} @endif>Animal</option>

Второй параметр будет возвращен в качестве результата функции, если старое значение не может быть найденов мелькающем входе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...