使用for循环的下拉菜单不在下拉列表中保留值
dropdown menu using for loop not retaining value in dropdown
你好,我正在使用 laravel 4 开发一个应用程序,我有一个下拉菜单,它为每个循环生成值,如果我 select 一个值并保存表单,这里的问题是一次该值被保存在数据库中,但是当我尝试编辑它时,它被保留为默认值所以我的问题是如何保留以前 selected 下拉值?
这是我的代码,请看一下
<form class="form-horizontal" method="post" action="" autocomplete="off">
<div class="form-group {{ $errors->has('last_closing_financial_year') ? 'has-error' : '' }}">
<label class="control-label" for="last_closing_financial_year">Enter the Last Closing Financial Year</label>
<div class="controls">
<?php
$years = array();
for ($i = 1980; $i < 2050; $i++)
{
$years[] = $i;
}
echo '<select name="last_closing_financial_year" class="controls assettext select2 selectyear" id="last_closing_financial_year" >';
echo '<option value="">-- Select Year --</option>';
foreach($years as $option)
{
echo "<option value='{$option}'";
$optionprev= $option+1;
echo ">{$option}-{$optionprev}</option>";
}
echo "</select>"." (On or Before User cannot Calculate this Year)";
?>
</div>
{{ $errors->first('last_closing_financial_year', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i>save </button>
</form>
如果您需要什么,请告诉我...
我尝试了这个问题的许多可能的重复,但没有任何效果。
我也试过了,但没有成功
$selected = "-- Select Year --";
foreach($years as $option)
{
if($selected == $option){
echo "<option selected='selected' value='$option'>$option</option>" ;
}
else{
echo "<option value='$option'>$option</option>" ;
}
}
提前致谢.........
在你的控制器中:
// Create Select Values Array
$years = ['' => '-- Select a Year --'] + array_combine(range(1980, 2050), range(1980, 2050));
// Set default last closing year to last year
$defaultYear = Carbon::now()->subYear()->format('Y');
在您看来:
{{ Form::select('last_closing_financial_year', $years, Input::old('last_closing_financial_year', $defaultYear)) }}
希望这个对你有用
在您的控制器中:
$years = array();
for($i = 1980;$i<= 2050;$i++)
{
$before["$i"] = $i;
$nextyear["$i"] = $i + 1;
$years["$i"] = $before["$i"] .(- $nextyear["$i"]); //to show as 1980-1981 in your dropdown
}
在您的浏览页面中
{{ Form::select('last_closing_financial_year', [null => '-- Select Year --'] + $years , Input::old('last_closing_financial_year', $setting->last_closing_financial_year)) }}
你好,我正在使用 laravel 4 开发一个应用程序,我有一个下拉菜单,它为每个循环生成值,如果我 select 一个值并保存表单,这里的问题是一次该值被保存在数据库中,但是当我尝试编辑它时,它被保留为默认值所以我的问题是如何保留以前 selected 下拉值?
这是我的代码,请看一下
<form class="form-horizontal" method="post" action="" autocomplete="off">
<div class="form-group {{ $errors->has('last_closing_financial_year') ? 'has-error' : '' }}">
<label class="control-label" for="last_closing_financial_year">Enter the Last Closing Financial Year</label>
<div class="controls">
<?php
$years = array();
for ($i = 1980; $i < 2050; $i++)
{
$years[] = $i;
}
echo '<select name="last_closing_financial_year" class="controls assettext select2 selectyear" id="last_closing_financial_year" >';
echo '<option value="">-- Select Year --</option>';
foreach($years as $option)
{
echo "<option value='{$option}'";
$optionprev= $option+1;
echo ">{$option}-{$optionprev}</option>";
}
echo "</select>"." (On or Before User cannot Calculate this Year)";
?>
</div>
{{ $errors->first('last_closing_financial_year', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
<button type="submit" class="btn-flat success"><i class="icon-ok icon-white"></i>save </button>
</form>
如果您需要什么,请告诉我...
我尝试了这个问题的许多可能的重复,但没有任何效果。
我也试过了,但没有成功
$selected = "-- Select Year --";
foreach($years as $option)
{
if($selected == $option){
echo "<option selected='selected' value='$option'>$option</option>" ;
}
else{
echo "<option value='$option'>$option</option>" ;
}
}
提前致谢.........
在你的控制器中:
// Create Select Values Array
$years = ['' => '-- Select a Year --'] + array_combine(range(1980, 2050), range(1980, 2050));
// Set default last closing year to last year
$defaultYear = Carbon::now()->subYear()->format('Y');
在您看来:
{{ Form::select('last_closing_financial_year', $years, Input::old('last_closing_financial_year', $defaultYear)) }}
希望这个对你有用
在您的控制器中:
$years = array();
for($i = 1980;$i<= 2050;$i++)
{
$before["$i"] = $i;
$nextyear["$i"] = $i + 1;
$years["$i"] = $before["$i"] .(- $nextyear["$i"]); //to show as 1980-1981 in your dropdown
}
在您的浏览页面中
{{ Form::select('last_closing_financial_year', [null => '-- Select Year --'] + $years , Input::old('last_closing_financial_year', $setting->last_closing_financial_year)) }}