2011-02-12 43 views
0

如何在提交(使用php)時「記住」下拉框的選定值,例如,一旦表單發佈在同一頁上,我想顯示在選擇框中選擇的值。我怎樣才能做到這一點?如何記住所選框的選定值

<form name="date" method="post" action="<?=$PHP_SELF?>"> 

<select name="year" > 
<option value="0">Year</option> 
<option value="2003">2003</option> 
<option value="2004">2004</option> 
<option value="2005">2005</option> 
<option value="2006">2006</option> 
<option value="2007">2007</option> 
</select> 

<input type="submit" value="Send" name="send" /> 
</form> 

回答

1

閱讀與成才選擇的值一樣$val = $_POST['year']並使用這個值的selected='selected'屬性添加到正確<option>元素。

0

將選定值存儲在文本文件或數據庫中,然後返回。你也可以做會話變量或cookie。

編寫一個PHP來輸出這些<option>標籤,如果該值等於您存儲的標籤,請爲該<option>標籤設置selected="selected"屬性。

1

我做的是如下的方式:

<select id="birth_month" name="birth_month"> 

    <option value="<?php echo $birth_month ?>" selected="selected"> 
     <?php echo $birth_month ?> 
    </option> 

    <option value="" disabled="disabled"> 
     -------- 
    </option> 

    <option value="Jan"> 
     Jan 
    </option> 

    <option value="Feb"> 
     Feb 
    </option> 

    <option value="Mar"> 
     Mar 
    </option> 

    etc... 

希望這對你的作品。

+0

謝謝,這是非常簡單和容易的解決方案。但是,假設起初`$ birth_month`是空的,你如何顯示-------在這種情況下被選中? – adam 2011-02-12 16:16:36

1

這是我的東西,這樣的代碼:

     <select name="city"> 
          <?php 
          foreach($cityArray as $key=>$value){ 
           $selected = ($_GET['city']==$key)?'selected="true"':''; 
           echo '<option '.$selected.' value="'.$key.'">'.$value.'</option>'; 
          } 
          ?> 
         </select>