使用JavaScript自动将年份添加到HTML选择

时间:2019-04-12 17:10:41

标签: javascript html

我有一个选择输入,它将显示从今年到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

2 个答案:

答案 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>