2017-11-20 18 views
-1

フォームが添付された「今年」ドロップダウンがあります。私は2016年のように年の1つを選択します。送信ボタンをクリックすると、ドロップダウンの値が2016(以前選択されたもの)のままで、ページを再読み込みします。フォーム自己申告で以前に選択したドロップダウン値を選択

どうすればいいですか?

<form class="form" method="POST" id="myID" name="myName"> 
    <label id="year" name="year">YEARS</label> 
     <select name="year" id="year" class="form-control"> 
     <option value="0" selected disabled="">CHOOSE YEAR</option> 
      <?php foreach($year as $rows){?> 
      <option value="<?php echo $rows->years?>"><?php echo $rows->years?> 
      </option> 
      <?php }?> 
     </select> 
    <button id="filter_button" style="margin-top: 26px" name="filter_button" 
    type="submit" class="for btn btn-info">Show</button> 
</form> 
+0

'$ _POST ['year']'から値を取り出し、 'selected'オプションにするための条件を書いてください。この質問を投稿する前に調査をしましたか?また、 'value'属性をオプションテキストと同じにする必要はありません。 – mickmackusa

+0

オプションの 'selected'属性を動的に設定します(' CHOOSE YEAR'オプションのために既に行っています)。これは、フォームの提出とデータベースからの検索、またはJavaScriptの 'localStorage'を介して行うことができます。 –

+0

いくつかのreasearchをしましたが、私は自分のページ内にフォームを投稿することは決してないので、私はちょっと混乱してしまいます。 –

答えて

0

この値をデフォルトとして設定するには、$_POSTの値を使用する必要があります。以下は更新されたコードです:

<form class="form" method="POST" id="myID" name="myName"> 
    <label id="year" name="year">YEARS</label> 
     <select name="year" id="year" class="form-control"> 
     <option value="0" selected disabled="">CHOOSE YEAR</option> 
      <?php foreach($year as $rows){ 
      $isSelected = (isset($_POST['year']) && ($_POST['year'] == $rows->years)) ? 'selected' : ''; 
      ?> 
      <option <?php echo $isSelected; ?> value="<?php echo $rows->years?>"><?php echo $rows->years?> 
      </option> 
      <?php }?> 
     </select> 
    <button id="filter_button" style="margin-top: 26px" name="filter_button" 
    type="submit" class="for btn btn-info">Show</button> 
</form> 
関連する問題