使用javascript动态组合框 - 列表框 - 下拉列表

时间:2012-02-20 07:21:17

标签: javascript dynamic drop-down-menu html-form

想要使用javascript动态填充combobox-listbox-drop-down。

var table = document.createElement("table");
var select = document.createElement("select");
var option = document.createElement("option");

我的HTML代码: -

<HTML>
    <HEAD>
        <TITLE>Dynamically populating drop down, combobox, list box using JavaScript</TITLE>
        <SCRIPT language="javascript" src="config.js"></SCRIPT>
    </HEAD>
    <BODY style="font-family: sans-serif">

        <fieldset>
            <legend>Combo box</legend>
            Add to Combo: <input type="text" name="txtCombo" id="txtCombo"/>
            <input type="button" value="Add" onclick="addCombo()">
            <br/>
            Combobox: <select name="combo" id="combo"></select>
        </fieldset>
    </BODY>
</HTML>

我的Javascript: -

function addCombo(a, b) {
    var textb = document.getElementById("txtCombo");
    var combo = document.getElementById("combo");

    var option = document.createElement("option");
    option.text = textb.value;
    option.value = textb.value;
    if {
        combo.add(option, null); //Standard
    }catch(error) {
        combo.add(option); // IE only
    }
    textb.value = "";
}

现在它仍然不起作用代码中是否有任何问题?我错过了什么吗?

2 个答案:

答案 0 :(得分:2)

你需要纠正你的功能才能完成这件事,syntex中存在一个问题: -

将您的Javascript更改为: -

function addCombo() {
    var textb = document.getElementById("txtCombo");
    var combo = document.getElementById("combo");

    var option = document.createElement("option");
    option.text = textb.value;
    option.value = textb.value;
    try {
        combo.add(option, null); //Standard
    }catch(error) {
        combo.add(option); // IE only
    }
    textb.value = "";
}

使用 catch ,您需要使用 尝试 而且您不需要在函数()

中添加任何内容

答案 1 :(得分:2)

您的javascript代码中的

if更改为try