面向对象的JS下拉列表?

时间:2013-03-23 22:54:46

标签: javascript drop-down-menu html-select

我使用OO JS创建了一个按钮,稍后将用于更新内容。我还想在我的网络应用程序中添加一个下拉菜单/选择列表。我用于我的按钮的代码是:

    var AddButton = function(label){
    var _dom_element = document.createElement("input");
        _dom_element.type = "button";
        _dom_element.value = label;

        _dom_element.onclick = function(){
            //click_action.call(null);
            alert("Im Clicked");
        };
        this.getDomElement = function() {
            return _dom_element;
        }
    }

如何更改此代码,使其成为下拉菜单/选择列表?

我最好的猜测是_dom_element.type =“select”;或者沿着那些方向的东西,但是我不知道实际类型应该相等。

感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:1)

你可以试试这个

var AddSelect = function(options){
    var _dom_element = document.createElement("select");

    for ( var i = 0; i < options.length; i++ ) {
        var _option = document.createElement("option");
            _option.value = options[i];
            _option.innerHTML = options[i];

        _dom_element.appendChild(_option);
    }

    document.body.appendChild(_dom_element);

    _dom_element.onclick = function(){
        //click_action.call(null);
        //alert("Im Clicked");
    };
    this.getDomElement = function() {
        return _dom_element;
    }
}

AddSelect(['option1', 'option2', 'option3']);

DEMO

答案 1 :(得分:0)

var AddSelect = function(options){
    var _dom_element = document.createElement("select");

    for ( var i = 0; i < options.length; i++ ) {
        var _option = document.createElement("option");
            _option.value = options[i];
            _option.innerHTML = options[i];

        _dom_element.appendChild(_option);
    }

    document.body.appendChild(_dom_element);

    _dom_element.onclick = function(){
        //click_action.call(null);
        //alert("Im Clicked");
    };
    this.getDomElement = function() {
        return _dom_element;
    }
}

AddSelect(['option1', 'option2', 'option3']);