如何在php

时间:2017-01-24 03:56:48

标签: php

下面是下拉列表中只有两个选项的代码,即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>

2 个答案:

答案 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年。