使用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>"."&nbsp;(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)) }}