如何将占位符添加到Laravel 5中的select元素

时间:2015-09-15 09:12:19

标签: php laravel

这是我的表单,我想在select元素中添加一个占位符。我怎么能这样做?

<div class="row">
    {!! Form::model(array('method' => 'post','class'=>'post-data','files' => true)) !!}
    <div class="col-md-6">
        <div class="form-group">
            <div class='col-md-4'>
                {!! Form::label('Category Name', 'Category Name',array('class' => 'form-label')) !!}
            </div>
            <div class='col-md-8'>
                {!! Form::select('jobfornow_category_Id',$category_result,null,array('class' => 'form-control')) !!}
            </div>
        </div>

        <div class="form-group">
            <div class='col-md-4'>
                {!! Form::label('Sub Category Name', 'Sub Category Name',array('class' => 'form-label')) !!}
            </div>
            <div class='col-md-8'>
                {!! Form::text('jobfornow_subcategory_Name',null,array('class' => 'form-control')) !!}
            </div>
        </div>
        <div class='col-md-4'>
            {!! Form::label('Description', 'Description',array('class' => 'form-label')) !!}
        </div>
        <div class='col-md-8'>
            {!! Form::textarea('jobfornow_subcategory_Description',null,array('class' => 'form-control')) !!}
        </div>
        <div class="form-group">
            <div class='col-md-4'></div>
            <div class='col-md-8' style="margin-top: 10px;">
                {!!Form::submit('Submit',array('class' => 'btn btn-default btn-cons'))!!}
            </div>
        </div>
        {!! Form::close() !!}     
    </div>
</div>

5 个答案:

答案 0 :(得分:3)

  

HTML select元素没有占位符属性(仅输入   确实如此),即使它在HTML中供您输入,也不会   任何东西。

答案 1 :(得分:3)

要在laravel表单构建器中创建下拉列表,代码应如下所示 -

在控制器中 -

$categories = Category::select('id', 'name')->lists('name', 'id')->prepend('Select a category', '')->toArray();
  

如果您使用Laravel 5.3或更高版本,请使用pluck()而不是lists()

并在视野中 -

{!! Form::select('cat_id', $categories, old('cat_id')) !!}

使用Laravel 5.x进行测试。

或者如果您有像 -

这样的数组
$array = ['1' => 'lorem ipsum', '4' => 'Another text'];

将此数组传递给视图后 -

{!! Form::select('cat_id', $array, old('cat_id')) !!}

没有占位符。如果你传递下面的数组 -

$array = ['' => 'Select category' '1' => 'lorem ipsum category', '4' => 'Another category'];

或者您希望传递一个集合以构建选择/下拉列表,然后

$array = $collection->prepend('Select a category', '')->toArray();

您需要传递数组才能构建下拉列表。

  

注意:array_unshiftarray_merge无法按预期工作!

答案 2 :(得分:2)

没有占位符只选择默认值

{!! Form::select('jobfornow_category_Id', 
      $category_result = array('' => 'Please Select') + $category_result,
   array('class' => 'form-control')) !!}

或尝试使用array_merge:

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

答案 3 :(得分:1)

以这种方式试试......

 <!-- Select Region Name -->
            <div class="form-group">

 {!! Form::label('region', 'Region:', ['class' => 'col-sm-3 control-label']) !!}
                <div class="col-sm-6">

{!! Form::select('region', $regions,null,['required', 'class' => 'form-control','placeholder'=>'Select Region']) !!}

 </div>

 </div>  

我的占位符到位后,对我来说效果很好

答案 4 :(得分:0)

让我们说您的代码如下

{!! Form::text('name',null['class' => 'form-control','placeholder'=>'Select Region']) !!}

只需在comma之后添加NULL,因为预期comma之前[

所以这就是预期的

{!! Form::text('name',null,['class' => 'form-control','placeholder'=>'Select Region']) !!}