我有一个选择输入,它将显示从今年到1920年的年份。
但是,我的javascript代码似乎只以升序显示。
var max = new Date().getFullYear(),
min = max - 99,
select = document.getElementById('year');
for (var i = min; i <= max; i++) {
var opt = document.createElement('option');
opt.value = i;
opt.innerHTML = i;
select.appendChild(opt);
}
<select name="year" id="year"></select>
因此它需要显示: 2019年 2018年 2017 ...
不是: 1920年 1921年 1922
答案 0 :(得分:4)
有几种方法,可以使用前缀,也可以倒数而不是加数。此方法倒计时。与前置不同,最高的是自动选择并递减计数。
var max = new Date().getFullYear(),
min = max - 99,
select = document.getElementById('year');
for (var i = max; i >= min; i--) {
var opt = document.createElement('option');
opt.value = i;
opt.innerHTML = i;
select.appendChild(opt);
}
<select name="year" id="year"></select>
答案 1 :(得分:2)
使用ParentNode#prepend
方法在开头处追加,这将使顺序降序。
var max = new Date().getFullYear(),
min = max - 99,
select = document.getElementById('year');
for (var i = min; i <= max; i++) {
var opt = document.createElement('option');
opt.value = i;
opt.innerHTML = i;
select.prepend(opt);
}
<select name="year" id="year"></select>