下面是下拉列表中只有两个选项的代码,即2016年和2017年。我希望在提交后保留选定的值。但是在选择2017年后我将进入2016年。需要做哪些改变?
<?php
$yearArray = range(2016, 2017);
?>
<select name="year" id="select2">
<option value="0">Select Year</option>
<?php
foreach ($yearArray as $year)
{
$selected = ( $year == 2016) ? 'selected' : '';
echo '<option name="year" '.$selected.' value="'.$year.'">'.$year.'</option>';
}
?>
</select>
答案 0 :(得分:1)
试试这个:
if((isset($_POST['year']) && $year == $_POST['year'])){
$selected = 'selected';
}else if($year == 2016){
$selected = 'selected';
}
答案 1 :(得分:1)
选择2016年的原因始终是因为您将其设置为2016年。
<?php
foreach ($yearArray as $year)
{
$selected = ( $year == 2016) ? 'selected' : ''; // Here, you are setting it
echo '<option name="year" '.$selected.' value="'.$year.'">'.$year.'</option>';
}
?>
而是这样做,
<?php
foreach ($yearArray as $year)
{
$selected = ((isset($_POST['year']) && $_POST['year'] == $year) || ($year == '2016')) ? 'selected' : '';
echo '<option name="year" '.$selected.' value="'.$year.'">'.$year.'</option>';
}
?>
默认情况下,如果您已提交任何其他值,则会选择2016年。