将默认值添加到 Laravel form::select 中的 select 列表
Add default value to select list in Laravel form::select
简单的问题,我希望。
我需要将默认值添加到我的 select 列表 'Please Select',并将其设置为禁用。
<select name="myselect" id="myselect">
<option value="" disabled>Please Select</option>
<option value="1">Item 1</option>
<option value="2">Item 2</option>
</select>
我目前的 laravel form::select 是
{{
Form::select(
'myselect',
$categories,
$myselectedcategories,
array(
'class' => 'form-control',
'id' => 'myselect'
)
}}
我如何修改它以包含默认选项值?
您可以这样使用 array_merge
:
{{
Form::select(
'myselect',
array_merge(['' => 'Please Select'], $categories),
$myselectedcategories,
array(
'class' => 'form-control',
'id' => 'myselect'
))
}}
或者您可以在 select:
之前的某处设置占位符
$categories[''] = 'Please Select';
更新
要添加禁用属性,您可以试试这个:(未测试)
{{
Form::select(
'myselect',
array_merge(['' => ['label' => 'Please Select', 'disabled' => true], $categories),
$myselectedcategories,
array(
'class' => 'form-control',
'id' => 'myselect'
))
}}
在 Laravel 5.1 中,如果列表是一个集合(Eloquent::lists()
的结果),您可以在前面添加默认项
$categories = Category::lists('name', 'id');
$categories->prepend('None');
或者只放占位符,例如:
[
'class' => 'form-control',
'id' => 'myselect',
'placeholder' => 'None'
]
这样就可以了。
$categories = Category::lists('name', 'id');
$categories->prepend('None', 0);
Laravel 5.3
{{ Form::select('role', ['' => 'Select Role'] +$roles, null, ['class' => 'form-control']) }}
我为此 post 提出了我的解决方案。我希望能对某人有所帮助
我使用 php 函数向模型数组添加一个选项
array_unshift($model, ['value' => '', 'name' => 'Select value']);
将 'placeholder' => 'Please Select'
添加到 Form::select
。
{!!
Form::select(
'myselect',
$categories,
null,
['class' => 'form-control', 'placeholder' => 'Please Select'])
!!}
我用过占位符,它对我有用
{!! Form::select('supplier', $suppliers, null, ['class' =>
'form-control', 'placeholder' => 'Please Select']) !!}
为了,在前面加上空值Select
$categories = Category::lists('name', 'id');
$categories->prepend('Please Select', '');
此代码将填充类似这样的内容,
$categories[''] = 'Please Select';
$categories[0] = 'item 1',
$categories[1] = 'item 2';
现在你可以使用这样的东西:
{!! Form::select('myselect', $categories, '',['id'=>'myselect']) !!}
这也有助于表单验证,例如必需。
现在,默认印度是 select
{{ Form::select('terms_agreement_type', [null => 'Select Control'] +
['India' => 'India', 'Nepal' => 'Nepal'], 'India') }}
你可以使用 pluck
控制器
$role = Model::all();
{{ Form::select('nameselect', $role->pluck('name', 'id')->prepend('default value...', ""))}}
简单的问题,我希望。
我需要将默认值添加到我的 select 列表 'Please Select',并将其设置为禁用。
<select name="myselect" id="myselect">
<option value="" disabled>Please Select</option>
<option value="1">Item 1</option>
<option value="2">Item 2</option>
</select>
我目前的 laravel form::select 是
{{
Form::select(
'myselect',
$categories,
$myselectedcategories,
array(
'class' => 'form-control',
'id' => 'myselect'
)
}}
我如何修改它以包含默认选项值?
您可以这样使用 array_merge
:
{{
Form::select(
'myselect',
array_merge(['' => 'Please Select'], $categories),
$myselectedcategories,
array(
'class' => 'form-control',
'id' => 'myselect'
))
}}
或者您可以在 select:
之前的某处设置占位符$categories[''] = 'Please Select';
更新
要添加禁用属性,您可以试试这个:(未测试)
{{
Form::select(
'myselect',
array_merge(['' => ['label' => 'Please Select', 'disabled' => true], $categories),
$myselectedcategories,
array(
'class' => 'form-control',
'id' => 'myselect'
))
}}
在 Laravel 5.1 中,如果列表是一个集合(Eloquent::lists()
的结果),您可以在前面添加默认项
$categories = Category::lists('name', 'id');
$categories->prepend('None');
或者只放占位符,例如:
[
'class' => 'form-control',
'id' => 'myselect',
'placeholder' => 'None'
]
这样就可以了。
$categories = Category::lists('name', 'id');
$categories->prepend('None', 0);
Laravel 5.3
{{ Form::select('role', ['' => 'Select Role'] +$roles, null, ['class' => 'form-control']) }}
我为此 post 提出了我的解决方案。我希望能对某人有所帮助
我使用 php 函数向模型数组添加一个选项
array_unshift($model, ['value' => '', 'name' => 'Select value']);
将 'placeholder' => 'Please Select'
添加到 Form::select
。
{!!
Form::select(
'myselect',
$categories,
null,
['class' => 'form-control', 'placeholder' => 'Please Select'])
!!}
我用过占位符,它对我有用
{!! Form::select('supplier', $suppliers, null, ['class' => 'form-control', 'placeholder' => 'Please Select']) !!}
为了,在前面加上空值Select
$categories = Category::lists('name', 'id');
$categories->prepend('Please Select', '');
此代码将填充类似这样的内容,
$categories[''] = 'Please Select';
$categories[0] = 'item 1',
$categories[1] = 'item 2';
现在你可以使用这样的东西:
{!! Form::select('myselect', $categories, '',['id'=>'myselect']) !!}
这也有助于表单验证,例如必需。
现在,默认印度是 select
{{ Form::select('terms_agreement_type', [null => 'Select Control'] + ['India' => 'India', 'Nepal' => 'Nepal'], 'India') }}
你可以使用 pluck
控制器
$role = Model::all();
{{ Form::select('nameselect', $role->pluck('name', 'id')->prepend('default value...', ""))}}