如何修复下拉菜单?所有选择显示“>”

Posted

技术标签:

【中文标题】如何修复下拉菜单?所有选择显示“>”【英文标题】:How to fix drop down menu? All choices show ">" 【发布时间】:2012-07-11 18:19:09 【问题描述】:

这是我的下拉菜单代码。在一台服务器上,会显示相应的数字。但另一方面,我在下拉菜单中看到每个选项的“>”。我猜这与 php.ini 文件有关,但我不确定...

<?php
// connect to the database
require 'connect.php';

// -------------------------------------------------------------------------------------------------------
// Drop Down Menu to choose Start and End dates
$startyear = ""; 
$startmonth = "";
$startday = "";
$endyear = "";
$endmonth = "";
$endday = "";

// Array of values for form
$year  = range(1998,2012);
$month = range(01,12);
$day   = range(01,31);

if($_SERVER['REQUEST_METHOD']=='POST')

    foreach($_POST as $key=>$value)
    
        if(is_numeric($value))
        
            $$key = $value;
        
    


?>

<form name='update' action='' method='POST'>
Start: <select name='startyear'>
    <?php foreach(array_reverse($year) as $y):?>
    <option value="<?=$y?>"<?=((isset($startyear) && $startyear == $y)?' selected':null)?>><?=$y?></option>
    <?php endforeach;?>
</select>
<select name='startmonth'>
    <?php foreach($month as $m): $m = str_pad($m, 2, "0", STR_PAD_LEFT);?>
    <option value="<?=$m;?>"<?=((isset($startmonth) && $startmonth == $m)?' selected':null)?>><?=$m;?></option>
    <?php endforeach;?>
</select>
    <select name='startday'>
    <?php foreach($day as $d): $d = str_pad($d, 2, "0", STR_PAD_LEFT);?>
    <option value="<?=$d;?>"<?=((isset($startday) && $startday == $d)?' selected':null)?>><?=$d;?></option>
    <?php endforeach;?>
</select>
<br>
End: <select name='endyear'>
    <?php foreach(array_reverse($year) as $y):?>
    <option value="<?=$y?>"<?=((isset($endyear) && $endyear == $y)?' selected':null)?>><?=$y?></option>
    <?php endforeach;?>
</select>
<select name='endmonth'>
    <?php foreach($month as $m): $m = str_pad($m, 2, "0", STR_PAD_LEFT);?>
    <option value="<?=$m;?>"<?=((isset($endmonth) && $endmonth == $m)?' selected':null)?>><?=$m;?></option>
    <?php endforeach;?>
</select>
    <select name='endday'>
    <?php foreach($day as $d): $d = str_pad($d, 2, "0", STR_PAD_LEFT);?>
    <option value="<?=$d;?>"<?=((isset($endday) && $endday == $d)?' selected':null)?>><?=$d;?></option>
    <?php endforeach;?>
</select>
<input type='submit' value='View'/>
</form>

【问题讨论】:

投反对票有原因吗? 【参考方案1】:

尝试将 PHP 短标签换成长标签。

&lt;?= 变为 &lt;?php echo&lt;? 变为 &lt;?php

某些配置允许您使用简写形式;所有 PHP 配置都允许您使用较长的配置。

【讨论】:

不客气。使用较长形式的 PHP 标记通常总是值得的,因为它使您的代码更具可移植性。【参考方案2】:

变化:

selected':null)?>><?=$y?></option>

selected':null)?><?=$y?></option>

&gt;太多了

【讨论】:

以上是关于如何修复下拉菜单?所有选择显示“>”的主要内容,如果未能解决你的问题,请参考以下文章

根据正确选择的单选按钮显示下拉菜单

选择其他人时如何隐藏其他下拉菜单

如何在ul下拉菜单中显示选定的菜单项

下拉菜单没有显示 CSS 中的所有内容

如何修复此导航菜单 - 它不会显示

selenium下拉菜单无法选择