Использовать Input :: old при множественном выборе

привет, ребята, у меня есть некоторые проблемы здесь ..

// in controller
$select = \MyTable::select('id','name')->where('myWhere',valWhere)->get();
return this->data['select'];

// in view
<input type="hidden" name="inselect" value="">
<select name="sel" multiple>
foreach($select as $val)
<option value="{{ $val->id }}">{{ $val->name }}</option>
</select>

Поскольку я использую плагин множественного выбора, input name = «inselect» будет содержать выбранный идентификатор. поэтому после выбора «насекомое» будет содержаться так:

<input type="hidden" name="inselect" value="2,4,5"> // string value

и я хочу вернуть это «2,4,5» с Input :: old (‘inselect’). как получить его?

2

Решение

Попробуйте этот код.

<input type="hidden" name="inselect" value="">
<select name="sel" multiple>
foreach($select as $val)
<option value="{{ $val->id }}" @if (in_array($val->id, Input::old('sel'))) selected @endif >{{ $val->name }}</option>
</select>
1

Другие решения

или короче:

{{in_array($val->id, old("sel") ?: []) ? "selected": ""}}
0

По вопросам рекламы [email protected]