web-dev-qa-db-ja.com

最初のオプションが空の選択ボックス

選択ボックスで値を空にする最初のオプションを設定する方法を知っている人はいますか?

DBからデータを取得しています。デフォルトでこのオプションを「オプションを1つ選択してください」に設定したいと思います。

26
JaviZu

見つけた 'default'=>'Please select'は、HTML5の必須属性では機能しません。これは動作します:

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

モダンPHP構文、

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

しかし、ポイントはヌル値のラベルを持つことです。

45
darkbluesun

LaravelCollectiveによるHTMLパッケージ を使用している場合、以下を実行します。

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

これを行うには2つの方法があります。

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

または

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

この動作を必要とする人にとって、この方法はうまく機能しています:

コントローラ:

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

表示:

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

これはLaravel 5.4。

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

100%の結果:

コントローラー内:

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

ビューで:

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

「laravelcollective/html」:「^ 5.3.0」パッケージを使用しています

でLaravel 5.1

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

または

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

Laravel 5コレクションの場合、最初にコレクションを配列に変換する必要があります。

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

そして、$ usersを次のように適用します

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

In laravel 5.2

これは私のために働いた

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

placeholderを追加するだけでうまくいきました

1
Yousef Altaf

コントローラ内

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

return view('your_view_blade',$data);

ブレード内

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

ビューの前に配列を操作する必要があります

または乱雑にするには、ブレードの@phpタグでそれを行うことができます

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

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

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

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

そして、あなたはビューで次のことができます

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

Laerte anwserへの追加

コマンドを発行するだけで、Blade levelで実行できます。

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

ビューで

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

コントローラーで$ qualification =\App\Qualification :: pluck( 'name'、 'id')-> prepend( 'Please Select');

0
Gayan Rodrigo