添加默认值以选择Laravel form :: select中的列表

时间:2015-01-11 21:44:02

标签: php laravel laravel-4

简单的问题,我希望。

我需要在我的选择列表'请选择'中添加默认值,并将其设置为禁用。

<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形式:: select是

{{
Form::select(
    'myselect',
    $categories,
    $myselectedcategories,
    array(
        'class' => 'form-control',
        'id' => 'myselect'
    )
}}

如何修改此选项以包含默认选项值?

11 个答案:

答案 0 :(得分:26)

在Laravel 5.1中,如果列表是一个集合(Eloquent::lists()的结果),您可以添加默认项目

$categories = Category::lists('name', 'id');
$categories->prepend('None');

答案 1 :(得分:24)

您可以像这样使用array_merge

{{
Form::select(
    'myselect',
    array_merge(['' => 'Please Select'], $categories),
    $myselectedcategories,
    array(
        'class' => 'form-control',
        'id' => 'myselect'
    ))
}}

或者,您可以在选择之前的某处设置占位符:

$categories[''] = 'Please Select';

更新

要添加已禁用的属性,您可以尝试:(未经测试)

{{
Form::select(
    'myselect',
    array_merge(['' => ['label' => 'Please Select', 'disabled' => true], $categories),
    $myselectedcategories,
    array(
        'class' => 'form-control',
        'id' => 'myselect'
    ))
}}

答案 2 :(得分:7)

'placeholder' => 'Please Select'添加到Form::select

{!!
  Form::select(
    'myselect', 
    $categories, 
    null, 
    ['class' => 'form-control', 'placeholder' => 'Please Select'])
!!}

答案 3 :(得分:3)

或者只是放置占位符,例如:

[
    'class' => 'form-control',
    'id' => 'myselect',
    'placeholder' => 'None'
]

这样就可以了。

答案 4 :(得分:1)

let value1 = try!(parse_str::<f64>("123").check_if(|n| n.is_sign_positive())
                  .or(Err(SaleError::new(6010, 1465))));

答案 5 :(得分:1)

对于,请请选择,并留空值

$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']) !!}

这也有助于表单验证,例如必需

答案 6 :(得分:0)

我为这篇文章提出了解决方案。我希望可以帮助某人

我使用php函数为模型数组添加选项

array_unshift($ model,['value'=&gt;'','name'=&gt;'选择值']);

答案 7 :(得分:0)

我使用过占位符,它对我有用

  

{!! Form :: select(&#39;供应商&#39;,$供应商,null,[&#39; class&#39; =&gt;   &#39;表单控件&#39;,&#39;占位符&#39; =&GT; &#39;请选择&#39;])!!}

答案 8 :(得分:0)

现在,选择了默认印度

  

{{Form :: select('terms_agreement_type',[null =>'Select Control'] +           ['India'=>'India','Nepal'=>'Nepal'],'India')}}

答案 9 :(得分:0)

您可以使用拔毛

控制器

$role = Model::all();

{{ Form::select('nameselect', $role->pluck('name', 'id')->prepend('default value...', ""))}}

答案 10 :(得分:-1)

Laravel 5.3

{{ Form::select('role', ['' => 'Select Role'] +$roles, null, ['class' => 'form-control']) }}