【问题标题】:How to echo selected option value first?如何首先回显选定的选项值?
【发布时间】:2011-10-31 23:23:13
【问题描述】:

我在需要显示年份的地方有这个下拉菜单。我想首先显示之前选择的选项。我在下面使用它,但它显示一个空白而不是选择的值...

代码:

 <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> 

【问题讨论】:

标签: php drop-down-menu selection


【解决方案1】:

这是你需要在代码中替换的:

    <?php for($i=date('Y'); $i>=1900; $i--)
    echo "<option value='$i'>$i</option>";
?>

【讨论】:

    【解决方案2】:

    您在输出 $previousyear 的第一个选项中缺少&lt;/option&gt;,因此您最终会生成:

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

    您现在有 2 个选定的选项,很可能 $previousyear 是空的,导致“空”选项。

    【讨论】:

    • 好的,我得到了要显示的 $ 变量,但它不是被选中的变量。它仍然显示 2011:这就是我所做的:
    • 它不起作用,因为如果您查看我的查询,回显 "";已选择。我怎样才能删除选定的让查询工作?
    • 您想要做的是删除前一年的第一个“硬编码”选项,并将您的循环比较改为($i == $previousYear)。在同一年输出两个不同的选项是没有意义的
    【解决方案3】:

    您可以将当前选择作为 GET 查询提交并使用它。

        if (isset($_GET['current'])) { 
          $previousyear = $_GET['current'];
        } 
    
    <select name="year"> 
    <option selected value="<?php echo $previousyear;?>"> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      • 2021-04-16
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多