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/