douqingji3026 2017-03-28 12:13
浏览 72
已采纳

Laravel Form Facade For Select带有额外标签的一个选项

I have a select with this option in html form select.

 <select name="position" id="position" class='position metadata form-control' data-parsley-required data-parsley-required-message="Please select the one position">
             <option value="">Select Position</option>
            {{ $options = App\Metadata::all()->where('category','position') }}
             @foreach($options as $option)
                <option value="{{$option->item}}">{{$option->item}}</option>
                @endforeach
            <option value="1" mytag='position'>Define New</option>
        </select> 

The Form Facade for this work like this

$options = App\Metadata::where('category', 'department')->orderBy('item')->pluck('item', 'item');
   $options->prepend('Define New', '1');
   $options->prepend('Select department', '0');
    ?>                                                                                              
{!! Form::select('department', $options , null, ['class' => 'department metadata form-control', 'id'=>'department']) !!}

The problem is how do I add mytag $options->prepend('Define New', '1'); to the last option on the select in the form facade

  • 写回答

2条回答 默认 最新

  • dongmi9494 2017-03-28 12:40
    关注

    Adding additional elements to Laravel's collection:

    You should do this in your controller:

    $metaDataOptions = App\MetaData::orderBy('item')->pluck('item');
    
    //This will be the first option
    $metaDataOptions->prepend('Select department', '0');
    
    //This will be the last option 
    $metaDataOptions->push('Define New', '1');
    

    then return your view with $metaDataOptions:

    return view('insert_your_view')->withOptions($metaDataOptions);

    And in your view pass $options to Form::select():

    {!! Form::select('department', $options , null, ['class' => 'department metadata form-control', 'id'=>'department']) !!}
    

    Adding custom attributes to option:

    You need to define your own "type" of element to Form. This can be achieved by using Form::macro: https://laravelcollective.com/docs/5.2/html#custom-macros

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 php 将rtmp协议转hls协议,无法播放
  • ¥15 miniconda安装不了
  • ¥20 python代码编写
  • ¥20 使用MPI广播数据遇到阻塞
  • ¥15 TinyMCE如何去掉自动弹出的“链接…”工具?
  • ¥15 微信支付转账凭证,如何解决
  • ¥15 在win10下使用指纹登录时,界面上的文字最后一个字产生换行现象
  • ¥20 使用AT89C51微控制器和MAX7219驱动器来实现0到99秒的秒表计数,有开始和暂停以及复位功能,下面有仿真图,请根据仿真图来设计c语言程序
  • ¥15 51单片机 双路ad同步采样
  • ¥15 使用xdocreport 生成word