0

我有一个下拉菜单。我也有一个按钮。我有特殊要求。

当用户单击按钮时,下拉菜单应展开。

4

2 回答 2

1

您可能想要构建一个自定义下拉菜单,该菜单具有某种 expand() 方法来显示下拉菜单中的选项。默认下拉菜单没有这样的东西,所以你被困在那里。

于 2012-06-07T12:26:22.560 回答
0

虽然你不能完全达到你想要的,但我想出了另一种方法。单击按钮时,您可以将下拉菜单size动态设置为它获得的项目数量,使其“打开”并显示所有项目。

然后,选择一个项目时,您可以将其设置size回1。这有效地具有相同的外观和感觉。

完整的代码是:

window.onload = function() {
    var oDDL = document.getElementById("myselect");
    oDDL.onchange = function() {
        //drop down item selected, reset size back to 1 to "close" the list:
        this.size = 1;
    };

    var oButton = document.getElementById("btnOpenDropDown");
    oButton.onclick = function() {
        //set size to number of items to "open" the list:
        oDDL.size = oDDL.options.length;
        oDDL.focus();
    }
};​

现场测试用例

于 2012-06-07T12:35:38.970 回答