【问题标题】:Add default value to select list in Laravel form::select在 Laravel 表单中添加默认值以选择列表::select
【发布时间】:2015-03-09 15:43:57
【问题描述】:

简单的问题,我希望。

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

<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'
    )
}}

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

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案1】:

    你可以像这样使用array_merge

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

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

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

    更新

    要添加 disabled 属性,你可以试试这个:(未测试)

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

    【讨论】:

    • 效果很好。谢谢你。您知道如何在此选项中添加禁用吗?
    • array_merge 将使用密钥,如果这对您很重要。例如。 array_merge(['' =&gt; 'Please select'], [1 =&gt; 'key is 1', 0 =&gt; 'key is 0']) 返回['' =&gt; 'Please select', 0 =&gt; 'key is 1', 1 =&gt; 'key is 0']
    【解决方案2】:

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

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

    【讨论】:

    • 更干净!谢谢!
    • 您可能希望将第二行设置为 $categories-&gt;prepend('None', 0) 给它一个密钥,以便保留 ID。
    • 当 prepend 不可用时,我们可以使用:$categories = array(0 , 'None') + $categories
    【解决方案3】:

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

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

    这样就可以了。

    【讨论】:

    • 值得注意:它是所有小写字母的placeholder,而不是camelCase中的placeHolder
    【解决方案4】:
    $categories = Category::lists('name', 'id');
    $categories->prepend('None', 0);
    

    【讨论】:

      【解决方案5】:

      Laravel 5.3

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

      【讨论】:

        【解决方案6】:

        我为这篇文章提出了我的解决方案。我希望能对某人有所帮助

        我使用 php 函数将选项添加到模型的数组中

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

        【讨论】:

          【解决方案7】:

          'placeholder' =&gt; 'Please Select' 添加到Form::select

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

          【讨论】:

            【解决方案8】:

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

            {!! Form::select('supplier', $suppliers, null, ['class' => 'form-control', 'placeholder' => '请选择']) !!}

            【讨论】:

              【解决方案9】:

              对于,在 请选择 前加上空值

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

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

              【讨论】:

              • 谢谢,我在前面使用了“null”,它改变了我在下拉列表中的所有值。空值就像魅力一样。
              【解决方案10】:

              现在,选择默认印度

              {{ Form::select('terms_agreement_type', [null => 'Select Control'] + ['印度' => '印度', '尼泊尔' => '尼泊尔'], '印度') }}

              【讨论】:

                【解决方案11】:

                你可以使用采摘

                控制器

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

                【讨论】:

                  猜你喜欢
                  • 2018-07-28
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2015-05-20
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多