Как отключить опцию выбора в Laravel с помощью Illuminate / Html

Я начинаю с 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() !!}

1

Решение

Просто передайте disabled в options, Попробуйте с —

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

Вы можете сделать это вручную, просматривая массив в php или используя jquery.

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

Другие решения

Просматривая источник, кажется, что это невозможно. <select> элемент построен в https://github.com/illuminate/html/blob/master/FormBuilder.php#L532

Передаются только аргументы: значение, имя и выбранный логический тип. Похоже, у вас есть 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

1

Последний массив используется для формирования атрибутов тега 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'])
0
По вопросам рекламы [email protected]