Я только начал изучать ванильный JavaScript и пытаюсь создать раскрывающееся меню, ориентированное на фрагмент HTML.

Я попытался использовать метод цикла для создания 25 вариантов, но он отображает только 1.

Мой код:

<select name="25dropdown" id="25dropdown">

</select>

<script>

function dropDown(){
for (y = 1; y < 26; y++) {
    document.getElementById("25dropdown").innerHTML = ("<option value =" + y + ">" + y + "</option>");
    }
}
dropDown();

</script>
1
T N Mukura 7 Мар 2019 в 14:05

1 ответ

Лучший ответ

На каждой итерации вы заменяете HTML, но вы также должны сохранить ранее добавленный HTML. Попробуйте += вместо =

<select name="25dropdown" id="25dropdown">

</select>

<script>

function dropDown(){
  for (y = 1; y < 26; y++) {
    document.getElementById("25dropdown").innerHTML += ("<option value =" + y + ">" + y + "</option>");
  }
}
dropDown();

</script>
2
Mamun 7 Мар 2019 в 11:21