簡體   English   中英

選擇第一個選項為空的框

[英]Select box with first option empty

如何將選擇框中的第一個選項設置為空值?

我正在從我的數據庫中獲取數據,並且我想將選項默認設置為“請選擇一個選項”。

我發現'default'=>'Please select'不適用於 HTML5 required 屬性。 這確實有效:

$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);

但關鍵是要為空值設置一個標簽。

如果您使用LaravelCollective 的 HTML 包,請執行以下操作。

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

有兩種方法可以做到這一點:

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

對於需要這種行為的任何人,這種方式都可以正常工作:

控制器:

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

看法:

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

這在 Laravel 5.4 上對我有用。

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

在控制器中

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

return view('your_view_blade',$data);

在視圖刀片

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

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.2 中

這對我有用

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

因為我只是添加了placeholder ,它就成功了

對於 Laravel 5 集合,您可能需要先將集合轉換為數組。

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

並將 $users 應用為

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

在 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'));

在視圖中

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

在控制器中 $qualification = \App\Qualification::pluck('name','id') ->prepend('Please Select');

添加到 Laerte anwser

您只需發出命令即可在Blade level執行此操作:

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

您需要在視圖之前操作數組

或者弄亂你可以在刀片@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']) }}
{{ Form::select('parent_id', [null=>'Please Select'] + \App\Item::where('1','1')->pluck('name', 'id')->toArray()) }}
{ !! Form::select('country', $country, 'GB', ['id' = > 'country', 'class' = > 'form-control select2me']) !!}

這里$country是包含許多國家的數組,在這個數組中是由 id "GB"默認選擇的"great britain"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM