wake-up-neo.net

Auswahlfeld mit erster Option leer

Weiß jemand, wie ich in meiner Auswahlbox die erste Option zum Leeren des Werts einstellen kann? 

Ich erhalte die Daten von meiner Datenbank und möchte die Option standardmäßig auf "Bitte eine Option auswählen" setzen.

26
JaviZu

Ich habe festgestellt, dass 'default'=>'Please select' nicht mit dem erforderlichen HTML5-Attribut ..__ funktioniert. Dies funktioniert:

$listOfValues = [1 => 'Choice 1'];
Form::select('fieldname',[null=>'Please Select'] + $listOfValues);

Wenn Sie keine moderne PHP - Syntax mögen,

$listOfValues = array(1 => 'Choice 1');
$listOfValues[null] = 'Please Select';
Form::select('fieldname', $listOfValues);

Der Punkt ist jedoch, eine Beschriftung für den Nullwert zu haben.

44
darkbluesun

Wenn Sie das HTML-Paket von LaravelCollective verwenden, gehen Sie wie folgt vor.

Form::select('size', array('L' => 'Large', 'S' => 'Small'), null, ['placeholder' => 'Pick a size...']);
22
endroo

Dafür gibt es zwei Methoden:

{{ Form::select('user', array('default' => 'Please select one option') + $users, 'default') }}

Oder 

<select>
     <option selected disabled>Please select one option</option>
     @foreach($users as $user)
     <option value="{{ $user->id }}">{{ $user->name }}</option>
     @endforeach
</select>
19
mauricehofman

Für jeden, der dieses Verhalten benötigt, funktioniert dieser Weg gut: 

Regler:

$entityArray = Entity::lists('name', 'id');
$entityArray->prepend('Select', 'Select');

Aussicht:

{!! Form::select('entity', $entityArray) !!}
13
Laerte

Das hat auf Laravel 5.4 funktioniert.

{{ Form::select('agency', $agency, null, [
    'placeholder' => 'Please select ...',
    'class' => 'form-control'
]) }}
5
GRIFFIN KISIA

100% Ergebnis:

Im Controller:

$users = App\User::get()->lists('full_name', 'id')->prepend('Select user','');
return view('name of view')->with('users', $users);

Im Hinblick auf:

{!! Form::select('who', $users, null, ['class' => 'form-control inline']) !!}

Ich verwende "laravelcollective/html": "^ 5.3.0"

In Laravel 5.1 habe ich es gelöst

$categories = [''=>''] + Category::lists('name', 'id')->toArray();
return view('products.create', compact('categories'));

Oder

$categories = [''=>''] + Category::lists('name', 'id')->all();
return view('products.create', compact('categories'));
2
sanu

Für eine Laravel 5-Sammlung müssen Sie die Sammlung möglicherweise zuerst in ein Array konvertieren.

<?php
$defaultSelection = [''=>'Please Select'];
$users = $defaultSelection + $users->toArray();?> 

und gelten als $ Benutzer als 

{!! Form::select('user', $users); !!}
1
StevenW

im Controller

$data['options']=Entity::pluck('name','id')->prepend('Please Select','');

return view('your_view_blade',$data);

in Ansicht Klinge

{!! Form::select('control_name',$options,null,['class'=>'your_class']) !!}
1
md asif rahman

Sie müssen das Array vor der Ansicht bearbeiten

oder, um unordentlich zu sein, könnten Sie es in Blade @php-Tags tun

    $users= [null => 'Empty'];

    $dbusers= User::pluck('id', 'name');

    $users= array_merge($users, $dbusers->toArray());

    return view('myview', compact('users'))

und dann können Sie in der Ansicht Folgendes tun

{{ Form::select('user',$users, ['class' => 'form-control']) }}
0
Mooseh

In Laravel 5.2

Das hat bei mir funktioniert

{!! Form::select('user', $users, null, array('class'=>'form-control', 'placeholder' => 'Please select')) !!}

wie ich gerade placeholder hinzufüge und es den Trick gemacht hat

0
Yousef Altaf

Hinzufügen zu Laerte Anwser

Sie können dies am Blade level tun, indem Sie einfach einen Befehl ausgeben:

{!! Form::select('entity', $entityArray) !!}
0
Hairmenu
{{ Form::select('parent_id', [null=>'Please Select'] + \App\Item::where('1','1')->pluck('name', 'id')->toArray()) }}
0
Gediminas

In der Ansicht

{!! Form :: select ('qualification_level', $ qualification, old ('Qualification_Level'), ['class' => 'form-control select2', 'placeholder' => '']) !! }

Im Controller $ qualification =\App\Qualification :: pluck ('name', 'id') -> voranstellen ('Bitte auswählen');

0
Gayan Rodrigo