Как я могу добавить опцию в Laravel
{{ Form::selectMonth('month') }}
Результат
<select name="month">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
Я хочу добавить значение параметра = 0, как это
<select class="form-control" name="month">
<option value="0">Month</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
И установите значение по умолчанию или выберите заполнитель месяца.
Вы не можете, поэтому вам придется создать свой собственный массив:
$months = array(0 => 'Month');
foreach (range(1, 12) as $month)
{
$months[$month] = strftime($format, mktime(0, 0, 0, $month, 1));
}
передать его на ваш взгляд:
return View::make('viewname')->with('months', $months);
и использовать Form::select()
:
{{ Form::select('month', $months) }}
В качестве макроса формы это может быть:
Form::macro('selectMonthWithDefault', function($name, $options = array(), $format = '%B')
{
$months = array(0 => 'Month');
foreach (range(1, 12) as $month)
{
$months[$month] = strftime($format, mktime(0, 0, 0, $month, 1));
}
return Form::select($name, $months);
});
И не забудьте, что вы также можете расширить класс FormBuilder и создать новый Form::selectMonth()
,
создайте новый файл в app / macros.php и скопируйте эту строку кодов
Form::macro('selectMonths', function($name, $options = array(), $format = '%B')
{
$months = array(0 => 'Month');
foreach (range(1, 12) as $month)
{
$months[$month] = strftime($format, mktime(0, 0, 0, $month, 1));
}
return Form::select($name, $months, null, $options);
});
требуется macros.php в app / start / global.php