2011-02-12 56 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>