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

问题描述 投票:1回答:5

我从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() !!}
php forms laravel blade illuminate-container
5个回答
8
投票

只需通过disabledoptions。尝试 -

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

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

$('select.someclass option:first').attr('disabled', true);

2
投票

从源头看,看起来不可能。 <select>元素是在https://github.com/illuminate/html/blob/master/FormBuilder.php#L532建立的

传递的唯一args是值,名称和选定的布尔值。看起来你有2个解决方案。使用javascript(argh),或使用类似str_replace的东西。

<?php

    $field = Form::select('pet_type', ['Select Type','dog', 'cat'], 0, ['class' => 'form-control']);

    // find value="Select Type" and replace with value="Select Type" dialled
    echo str_replace('value="Select Type"', 'value="Select Type" disabled', $field);

?>

1
投票

这可能不是您正在寻找的,但它会阻止用户选择第一个选项,但仍然在列表中。

Form::select支持A Grouped List,你可以这样使用它。

{!! Form::select('pet_type', ['Select Type' => ['dog', 'cat']], 0, ['class' => 'form-control']) !!}

更多细节:http://laravel.com/docs/4.2/html#drop-down-lists


0
投票

最后一个数组用于形成html标记的属性,因此您可以简单地将其禁用到其中:

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

0
投票

这可以帮到你

Form::select('name_select', '', null, ['name' => '', 'id' => '', 'disabled' => 'disabled']) 
© www.soinside.com 2019 - 2024. All rights reserved.