【问题标题】:Why is this javascript loop printing out numbers instead of Options?为什么这个 javascript 循环打印出数字而不是选项?
【发布时间】:2014-04-10 00:20:52
【问题描述】:
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 作为选择器的选项。

【问题讨论】:

标签: javascript for-loop html-select


【解决方案1】:

你传递给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;
}

【讨论】:

  • 没有解释的代码几乎总是没用的。
  • Felix 的解释和您的代码之间。我想我明白了。非常感谢!
  • @Felix Kling :起初我写了解决方案,只有在解释之后:)
猜你喜欢
  • 1970-01-01
  • 2016-02-11
  • 1970-01-01
  • 2015-02-15
  • 1970-01-01
  • 1970-01-01
  • 2015-05-16
  • 1970-01-01
  • 2013-02-06
相关资源
最近更新 更多