1

这是我的代码:

<!doctype html>

<html>
<head>
    <meta charset="utf-8">
    <title>Date Picker</title>
</head>
<body>
<p>Click the button to loop through a block of code five times.</p>
<button onclick="myFunction()">Try it</button>
<select id="demo">
</select>
<p id="demo"></p>
<script>
function myFunction()
{
    var i;
    for (i=1;i<=5;i++){
      document.getElementById("demo").innerHTML="<option value="+i+">"+i+"</option>";
    }
}
</script>
</body>
</html>

我想要的是当我按下按钮下拉框会生成一个像这样的选项:

<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>

但我只得到这个代码

<option value="5">5</option>

它只在选项上显示 5。请帮忙..谢谢

4

2 回答 2

8

您在每次迭代中都覆盖了“演示”的内容。最好使用 DOM 方法向选择添加选项:

function myFunction(selector)
{
    var i;
    for (i=1;i<=5;i++){
      selector.options[i-1] = new Option(i,i);
    }
}
//usage:
myFunction(document.getElementById("demo"));

顺便说一句:检查您的 HTML。的id元素应该是唯一的。使用您的 HTML,您的脚本如何知道与哪个元素对应document.getElementById("demo")

于 2012-09-04T05:39:46.003 回答
6

像这样添加要选择的元素对您有用

var select = document.getElementById("demo");  

var i=0;
 for(i=1;i<=5;i++){  
     select.options[select.options.length] = new Option(i,i);  

} 
于 2012-09-04T05:38:46.150 回答