Добавить значение по умолчанию для выбора списка в форме Laravel:: select
Простой вопрос, надеюсь.
Мне нужно добавить значение по умолчанию в список выбора "Пожалуйста, выберите" и отключить его.
<select name="myselect" id="myselect">
<option value="" disabled>Please Select</option>
<option value="1">Item 1</option>
<option value="2">Item 2</option>
</select>
Моя текущая форма laravel:: select
{{
Form::select(
'myselect',
$categories,
$myselectedcategories,
array(
'class' => 'form-control',
'id' => 'myselect'
)
}}
Как я могу изменить это, чтобы включить значение параметра по умолчанию?
Ответы
Ответ 1
Вы можете использовать array_merge
следующим образом:
{{
Form::select(
'myselect',
array_merge(['' => 'Please Select'], $categories),
$myselectedcategories,
array(
'class' => 'form-control',
'id' => 'myselect'
))
}}
В качестве альтернативы вы можете установить местозаполнитель где-то перед выбором:
$categories[''] = 'Please Select';
Update
Чтобы добавить отключенный атрибут, вы можете попробовать следующее: (untested)
{{
Form::select(
'myselect',
array_merge(['' => ['label' => 'Please Select', 'disabled' => true], $categories),
$myselectedcategories,
array(
'class' => 'form-control',
'id' => 'myselect'
))
}}
Ответ 2
В Laravel 5.1 вы можете добавить элемент по умолчанию, если список представляет собой коллекцию (результат Eloquent::lists()
)
$categories = Category::lists('name', 'id');
$categories->prepend('None');
Ответ 3
Добавьте 'placeholder' => 'Please Select'
в Form::select
.
{!!
Form::select(
'myselect',
$categories,
null,
['class' => 'form-control', 'placeholder' => 'Please Select'])
!!}
Ответ 4
Или просто поместите заполнитель, например:
[
'class' => 'form-control',
'id' => 'myselect',
'placeholder' => 'None'
]
Это сделает трюк.
Ответ 5
$categories = Category::lists('name', 'id');
$categories->prepend('None', 0);
Ответ 6
Пожалуйста, выберите с пустым значением.
$categories = Category::lists('name', 'id');
$categories->prepend('Please Select', '');
Этот код будет заполнять что-то вроде этого,
$categories[''] = 'Please Select';
$categories[0] = 'item 1',
$categories[1] = 'item 2';
Теперь вы можете использовать что-то вроде этого:
{!! Form::select('myselect', $categories, '',['id'=>'myselect']) !!}
Это также полезно для проверки формы, как требуется.
Ответ 7
Я поставлю свое решение для этого сообщения. Надеюсь, кто-то может помочь кому-нибудь.
Я использую функцию php для добавления опции к массиву модели
array_unshift ($ model, ['value' = > '', 'name' = > 'Select value']);
Ответ 8
Я использовал placeholder и работал у меня
{!! Форма:: select ('поставщик', $поставщики, null, ['class' = > 'form-control', 'placeholder' = > 'Please Select'])!!}
Ответ 9
Теперь по умолчанию Индия была выбрана
{{Form :: select ('rules_agreement_type', [null => 'Выбрать элемент управления'] + ['India' => 'India', 'Nepal' => 'Nepal'], 'India')}}
Ответ 10
Laravel 5.3
{{ Form::select('role', ['' => 'Select Role'] +$roles, null, ['class' => 'form-control']) }}