2016-03-30 11 views
2

Hallo Jungs, ich hier ein Problem haben ..Verwendung Eingang :: alt auf mehreren wählen

// 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> 

weil im Mehrfach-Auswahl-Plugin, input name = "InSelect" wird ausgewählt ID containt.

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

und ich will zurückkehren diese "2,4,5" mit Eingang :: alt ('InSelect'): so nach der Auswahl "InSelect" wird wie folgt containt werden. wie bekommt man es?

+0

'Eingang :: alt ('InSelect')' sollte = sein '2,4,5'. Alles, was Sie tun müssen, ist '' – Chris

+0

Auch wenn Sie Laravel 5 verwenden, können Sie '' verwenden {{alt ('unlesbar')}} 'für vorher gepostete Werte – Chris

+0

ich glaube, du verstehst meine Frage .. meine Frage bedeutet" 2,4,5 "diesen Wert in Array umwandeln und in select einfügen. –

Antwort

1

Versuchen Sie diesen Code.

<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> 
+0

Ja das ist was ich suche. Danke, mein Herr. Netter Job, gute Antwort. –

0

oder kürzer:

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

Bitte bearbeiten Sie Ihre Antwort mit einigen Erklärungen. Code-only-Antworten machen wenig aus, um zukünftige SO-Leser zu schulen. Ihre Antwort befindet sich in der Moderationswarteschlange, weil sie von geringer Qualität ist. – mickmackusa

Verwandte Themen