在Laravel表单中添加默认值以选择列表::选择

2022-08-30 16:20:24

简单的问题,我希望。

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

<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(
    'myselect',
    $categories,
    $myselectedcategories,
    array(
        'class' => 'form-control',
        'id' => 'myselect'
    )
}}

如何修改此值以包含默认期权值?


答案 1

在 Laravel 5.1 中,如果列表是集合(结果为Eloquent::lists())

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

答案 2

你可以像这样使用: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'
    ))
}}

推荐