无法使用数组中的值填充下拉列表选项

时间:2012-12-26 19:53:24

标签: javascript jquery

我想用一组值填充一个下拉列表,从1,2,...... 100开始。目前,我正在这样做而且它不起作用。

在头部

<script type="text/javascript" src="./jquery-1.8.3.min.js"></script>
<script type="text/javascript">
    var select = document.getElementById("selectAge");
    var options = ["1", "2", "3", "4", "5"];
    for(var i = 0; i < options.length; i++) {
        var opt = options[i];
        var el = document.createElement("option");
        el.textContent = opt;
        el.value = opt;
        select.appendChild(el);
    }​
</script>

然后,形式的,我有

<label>Age</label>
<select id="selectAge"> 
    <option>Select your age</option>        
</select>

下拉列表中没有填充单个值。我的意思是,我不明白为什么它没有发生。一个更正可能是将java脚本代码放在结束</body>标记之前,因为它应该仅在加载DOM之后填充。但我甚至试过了,但它没有用。

2 个答案:

答案 0 :(得分:1)

Works just fine in a fiddle。如果您使用的是jQuery,请将整个内容包装在

$(function() { ... your code ...})` 

等待DOM准备就绪。

答案 1 :(得分:1)

<html>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        var selectAge = $("#selectAge"), 
        options = [1,2,3,4,5,6], 
        i;
        for ( i = 0; i < options.length; i++) {
            $(selectAge).append("<option value='" + options[i] + "'>" + options[i] + "</option>");
        }
    });
</script>
<body>
<lable>Age:</lable>
<select id="selectAge">
    <option>Select your age</option>
</select>
</body>
</html>