我的程序中有这个过滤功能。它以下拉列表的形式出现。我目前正在使用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();
}
答案 0 :(得分:0)
关于悬停在option
元素上的问题,来自MDN的这个说明可能会引起关注。
[2]从历史上看,Firefox已经允许键盘和鼠标事件 从元素向上冒泡到父元素。 但是,这不会发生在Chrome中,尽管此行为是 许多浏览器都不一致。为了更好的Web兼容性(和 由于技术原因),当Firefox处于多进程模式时 元素显示为下拉列表。行为是 如果内联呈现并且它具有 已定义多个属性或大小属性设置为大于1。 你应该注意,而不是观察事件的元素
我尝试使用嵌套选择 - 不起作用。在option
元素上收听事件也不起作用(至少在Chrome中这不是我最近使用的,因此请注意上面的内容)因此您可能能够监控父级上的事件({{1}并且以你想要的方式实现你想要的东西 - 毫无疑问,jQuery中有一些可用的东西可以做到这一点......
顺便说一句,这是一个小小的实验 - 不完全是你试图做但只是关闭。
select