javascript - 为什么这个 javascript 循环打印出数字而不是选项?

标签 javascript for-loop html-select

function createShiftsForm(day){
    document.getElementById("shifts").innerHTML += day + ' morn: <select name="' + day + 'm"><option value="0" selected>0</option>';
    for (i=1; i <= 20; i++){
    document.getElementById("shifts").innerHTML += '<option value="' + i + '">' + i + '</option>';
}
    document.getElementById("shifts").innerHTML += '</select>';


}

当它打印出来时,它会打印所有 21 个数字,但只打印数字 0 作为选择器的选项。

最佳答案

您传递给innerHTML的字符串无效(您是一步一步执行的,因此选择元素没有结束标记)。

function createShiftsForm(day){
    var container = day + ' morn: <select name="' + day + 'm"><option    value="0" selected>0</option>';
    for (i=1; i <= 20; i++){
        container += '<option value="' + i + '">' + i + '</option>';
    }
    container += '</select>';
    document.getElementById("shifts").innerHTML = container;
}

关于javascript - 为什么这个 javascript 循环打印出数字而不是选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22976369/

相关文章:

javascript - 如何定位弹出窗口,以便 Top= 文本的顶部 & Left= 文本的左侧 + Javascript 中文本的长度?

javascript - HTML5本地存储支持的数据

Python 3.x : Print specific array items

javascript - 将项目插入数组并在 JavaScript 中返回它们

javascript - 如何单击 "select option"然后使用 casperjs 评估加载的内容

javascript - getBounds().contains 返回 false

javascript - 显示隐藏的滚动条

c - 如何在每次循环迭代时向用户打印不同的语句?

javascript - 从禁用和启用下拉列表中获取选定的值

html - 更改选定禁用选项的文本颜色