2016-09-25 2 views
0

Я много искал, но не нашел решения. У меня есть поле select в моей HTML-форме, для которой мне нужно сохранить старые значения после перенаправления обратно проверки ввода сообщения.Переадресация с значениями «выберите» в Laravel 5

Вот мой редирект код в контроллере

redirect()->back()->withInput()->withErrors($validator->messages()); 

Я попытался с помощью value={{old('somefieldname')}} Но это работает только для входов и прокручиваемым.

PS: Мне также необходимо установить значения old в multiple="multiple".

Любая помощь будет действительно оценена.

ответ

3

Если вы итерацию в цикле, то непосредственно старый не будет работать для выбора опции

Например, если у вас есть что-то подобное в вашем файле лезвия , то вы можете попробовать это для выбора текущего параметра после перенаправления

<select id="someId" name="someName"> 

@foreach($someData as $data) 
    <option value="{{ $data->id }}" @if(old('someName') == $data->id) selected @endif> {{ $data->name }} </option> 
@endforeach 

</select> 

Тогда он выберет ваш текущий вариант.

Если это ваша проблема, это может помочь.

+0

Спасибо человеку. Идеально . –

+0

Рад помочь @NiteshVerma :) – Vikash

+0

Можете ли вы рассказать, как это будет работать для множественного выбора? потому что будет массив в 'old' –

0

В выбранном вам нужно сделать выбранное = выбрано, когда опция = значение равно старому. Также рассмотрите возможность использования пакета laravelcollective/html. Вы можете использовать его таким образом:

{!! Form::select('type', ['' => 'Types'] + $options) !!} 

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

Смежные вопросы