У меня есть элемент select html в течение многих лет, я хочу, чтобы его значение по умолчанию было только «年», но мой js-код переписывает его. Что мне делать?
<select id = "f_year" name = "f_year">
<option disabled selected value>年</option>
</select>
<script>
var start = 1900;
var end = new Date().getFullYear();
var options = "";
for(var year = start ; year <=end; year++){
options += "<option>"+ year + "年" + "</option>";
}
document.getElementById("f_year").innerHTML = options;
</script>



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Когда вы воссоздаете варианты выбора. Вместо keepin var options = ""; сохраните его как var options = "<option disabled selected value>年</option>";
<select id = "f_year" name = "f_year">
</select>
<script>
var start = 1900;
var end = new Date().getFullYear();
var options = "<option disabled selected value>年</option>";
for(var year = start ; year <=end; year++){
options += "<option>"+ year + "年" + "</option>";
}
document.getElementById("f_year").innerHTML = options;
</script>
По возможности лучше сохранять HTML в HTML…
… Итак, я бы просто добавил ваш options, используя += вместо =.
Смотрите в рабочем фрагменте:
var start = 1900;
var end = new Date().getFullYear();
var options = "";
for (var year = start; year <= end; year++) {
options += "<option>" + year + "年" + "</option>";
}
document.getElementById("f_year").innerHTML += options; // TAKIT: Modified only here!<select id = "f_year" name = "f_year">
<option disabled selected value>年</option>
</select>Надеюсь, поможет.