如何使用Illuminate/Html在Laravel中设置禁用选择选项

sua*_*ger 1 php forms laravel blade illuminate-container

我从Laravel开始,我正在使用Illuminate/Html制作表格.

我想在第一个选项中添加禁用属性,但我找不到这样做的方法.

{!! Form::open(['url' => 'shelter/pets']) !!}
    <div class="form-group">
        {!! Form::label('pet_type','Type:') !!}
        {!! Form::select('pet_type', ['Select Type','dog', 'cat'], 0, ['class' => 'form-control']) !!}
    </div>
    <div class="form-group">
        {!! Form::submit('Add pet', null, ['class' => 'btn btn-primary form-control']) !!}
    </div>
{!! Form::close() !!}
Run Code Online (Sandbox Code Playgroud)

Sou*_*ose 7

只是通过disabledoptions.尝试 -

{!! Form::select('pet_type', ['Select Type','dog', 'cat'], 0, ['class' => 'form-control', 'disabled' => true]) !!}
Run Code Online (Sandbox Code Playgroud)

您可以在php中手动循环遍历数组或使用jquery.

$('select.someclass option:first').attr('disabled', true);
Run Code Online (Sandbox Code Playgroud)

  • 就像我对 vanadium 说的:这就是我首先做的,但它禁用了所有选择输入,我只想禁用第一个选项。 (4认同)

Abi*_*gos 6

作为此处函数的签名:vendor/laravelcollective/html/src/FormBuilder.php line #625:

/**
     * Create a select box field.
     *
     * @param  string $name
     * @param  array  $list
     * @param  string|bool $selected
     * @param  array  $selectAttributes
     * @param  array  $optionsAttributes
     * @param  array  $optgroupsAttributes
     *
     * @return \Illuminate\Support\HtmlString
     */
    public function select(
        $name,
        $list = [],
        $selected = null,
        array $selectAttributes = [],
        array $optionsAttributes = [],
        array $optgroupsAttributes = []
    )
Run Code Online (Sandbox Code Playgroud)

所以你可以像这样使用它:

{!! Form::select('pet_type', 
    ['Select Type','dog', 'cat'],
     0, //default selection
    ['class' => 'form-control'], //the select tag attributes
    [ 0 => [ "disabled" => true ] ] //list of option attrbitues (option value is the arrays key)
) !!}
Run Code Online (Sandbox Code Playgroud)