PHP / HTML:创建SubMenu

时间:2016-07-25 09:24:04

标签: php html css menu submenu

我的程序中有这个过滤功能。它以下拉列表的形式出现。我目前正在使用Select-Option方法在我的下拉列表中显示选项。但是,如果列表很长,它看起来不太好,所以我想要做的是创建一个子菜单。例如,我有20个选项。我想要的是将它转换为5个选项,每个选项也有子项或子选项。

这是我最初所做的,可能是一个很好的案例。因此,我不想在主要选项下显示3个商场,而是想制作一个名为“按购物中心过滤”的母选项,然后再按照“按位置过滤”,而不是显示主选项上的所有位置等。

<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="GET">
    <select name="formStats">

        <option value="Rob">Robinson's Manila Stores</option>
        <option value="MoA">Mall of Asia Stores</option>
        <option value="GG">Greenbelt/Glorietta Stores</option>

<input type="submit" name="formSubmit" value="Submit"/>
</form>

这是我将案例放在PHP脚本下的部分。

if(isset($_GET['formSubmit'])) 
    {
        $varStats = $_GET['formStats'];
        $errorMessage = "";

            switch($varStats)
            {

            case "Rob": $show = "Mall = 'Robinson\'s Manila'"; break;
            case "MoA": $show = "Mall  = 'Mall of Asia;"; break;
            case "GG": $show = "Mall = 'Glorietta/Greenbelt'"; break;
            }

            $conn = db_connect();
            showStore($conn, $show);
            db_disconnect($conn);       
            exit();
    }

1 个答案:

答案 0 :(得分:0)

关于悬停在option元素上的问题,来自MDN的这个说明可能会引起关注。

  

[2]从历史上看,Firefox已经允许键盘和鼠标事件   从元素向上冒泡到父元素。   但是,这不会发生在Chrome中,尽管此行为是   许多浏览器都不一致。为了更好的Web兼容性(和   由于技术原因),当Firefox处于多进程模式时    元素显示为下拉列表。行为是   如果内联呈现并且它具有   已定义多个属性或大小属性设置为大于1。   你应该注意,而不是观察事件的元素   

我尝试使用嵌套选择 - 不起作用。在option元素上收听事件也不起作用(至少在Chrome中这不是我最近使用的,因此请注意上面的内容)因此您可能能够监控父级上的事件({{1}并且以你想要的方式实现你想要的东西 - 毫无疑问,jQuery中有一些可用的东西可以做到这一点......

顺便说一句,这是一个小小的实验 - 不完全是你试图做但只是关闭。

select