1

这是我的代码,我试图将数组中的元素附加到下拉选择框中。在 appendChild 方法之前,代码工作正常。我无法弄清楚为什么那条线不起作用。这是代码

</head>
<body>
    <h1> Eat Page</h1>
    <p id="test">Hi</p>
    <select id="CusineList"></select>

    <script type="text/javascript">

        var cuisines = ["Chinese","Indian"];
        var sel = document.getElementById('CuisineList');

        for(var i = 0; i <cuisines.length; i++){

            var optionElement = document.createElement("option");

            optionElement.innerHTML = cuisines[i];

            optionElement.value = i;//cuisines[i];
            //document.getElementById("test").innerHTML = cuisines.length;
            sel.appendChild(optionElement);

        }
    </script>

    <p> When </p>
</body>

</html>
4

3 回答 3

4

你有拼写失误。

您的 id 是CusineList,但是当您使用CuisineList时选择。

除此之外,您的代码有效

于 2012-07-02T03:17:07.780 回答
0

有错别字

var sel = document.getElementById('CuisineList');

这应该是

var sel = document.getElementById('CusineList');

或更改您的html。从

<select id="CusineList"></select>

<select id="CuisineList"></select>
于 2012-07-02T03:18:32.470 回答
0

当我们使用java脚本追加节点时,首先设置节点的属性/属性后,我们必须将此节点追加到其相关的父节点中,在追加节点之后,我们可以设置其内容或相关的内部HTML/文本。

这是上述问题的解决方案:

var cuisines = ["Chinese", "Indian"];var sel = document.getElementById('CusineList');
var optionElement;
for (var i = 0; i < cuisines.length; i++) {
    optionElement = document.createElement("option");
    optionElement.value = i;
    sel.appendChild(optionElement);
    optionElement.innerHTML = cuisines[i];
    document.getElementById("test").innerHTML = cuisines.length;
}

我在http://codebins.com/codes/home/4ldqpcn上创建了一个带有解决方案的 bin

于 2012-07-02T06:59:28.160 回答