Как отобразить значение выбранного параметра первым? - PullRequest
1 голос
/ 31 октября 2011

У меня есть этот выпадающий список, где мне нужно показать годы.Я хочу показать ранее выбранный выбор в первую очередь.Я использую это ниже, но вместо выбранного значения отображается пустое значение ...

Код:

 <select name="year">
 <option selected value="<?php echo $previousyear;?>">
 <?php for($i=date('Y'); $i>=1900; $i--)
    echo "<option value='$i' ".(($i == date('Y')?'selected="selected"':'')).">
 $i</option>";
 ?>
 </select></td>
  </tr> 

Ответы [ 3 ]

2 голосов
/ 31 октября 2011

Это то, что вам нужно заменить в коде:

    <?php for($i=date('Y'); $i>=1900; $i--)
    echo "<option value='$i'>$i</option>";
?>
1 голос
/ 31 октября 2011

Вы можете отправить свой текущий выбор как запрос GET и использовать его.

    if (isset($_GET['current'])) { 
      $previousyear = $_GET['current'];
    } 

<select name="year"> 
<option selected value="<?php echo $previousyear;?>"> 
1 голос
/ 31 октября 2011

Вам не хватает </option> в первом варианте, где вы выводите $ previousyear, так что вы в конечном итоге генерируете:

<option selected value="XXX"><option value="2011" selected="selected">2011</option>
                             ^---missing </option>

Теперь у вас есть 2 выбранных опций, и, скорее всего, $ previousyear пуст, что вызывает "пустую" опцию.

...