这是我在 html 中的下拉列表
<select name="select" class="form-control" id="dropdownYear" style="width: 120px;" onchange="getProjectReportFunc()">
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017" selected="selected">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
Run Code Online (Sandbox Code Playgroud)
我对年份值进行了硬编码,我想用选择的当前年份和之前和之后的 3 年填充此下拉列表。例如,对于当前年份 = 2017,我希望列表为 2013-2020 并自动选择 2017。我如何在 js 中做到这一点?
为了实现这一点,需要使用Date,无论是直接使用还是使用一些外部库。使用本机方法getFullYear:
Date.prototype.getFullYear()根据本地时间返回指定日期的年份(4 位为 4 位年份)。
我们可以设置当前年份,然后循环访问所需的值。您指定了 2013 年 - 2020 年,因此我们将使用当前年份减 4 到当前年份加 3。
for (var i = year - 4; i <= year + 3; i++)
Run Code Online (Sandbox Code Playgroud)
在循环体中,创建Options并将它们添加到Select。要显示值,innerHTML需要设置,如果您想在 javascript 中的其他地方使用该值,value还需要设置:
option.value = option.innerHTML = i;
Run Code Online (Sandbox Code Playgroud)
如果索引等于当前年份,则设置该selected属性。
if (i === year) option.selected = true;
Run Code Online (Sandbox Code Playgroud)
然后,您需要做的就是将每个option元素附加到select元素。select创建完成后,将其插入到您的 HTML 中(这里我将附加到正文中)。
for (var i = year - 4; i <= year + 3; i++)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15436 次 |
| 最近记录: |