You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用for循环或数组填充AngularJS列表的指定范围年份数据

AngularJS 年份下拉数组生成方案

两种你提到的实现思路都是完全可行的,更推荐直接在JS逻辑中生成对象数组后赋值给$scope.years,后续调整年份区间只需要修改起止参数即可,维护成本远低于硬编码。

具体实现代码

固定区间生成(示例为2010~2020,年份从大到小排列)

// 按需修改起止年份即可调整下拉选项范围
const startYear = 2010;
const endYear = 2020;
$scope.years = [];

// 倒序遍历,保证最新年份在下拉最顶部
for (let year = endYear; year >= startYear; year--) {
  $scope.years.push({
    id: year,
    name: year
  });
}

动态从当前年往前推生成(适配原有硬编码的逻辑,无需每年手动改年份)

const curYear = new Date().getFullYear();
// 往前推10年,按需修改数字即可
const startYear = curYear - 10;
$scope.years = [];

for (let year = curYear; year >= startYear; year--) {
  $scope.years.push({
    id: year,
    name: year
  });
}

下拉框绑定参考(和原有逻辑完全兼容)

<select ng-model="selectedYear" ng-options="item.id as item.name for item in years">
  <option value="">请选择年份</option>
</select>

绑定后选中的年份id会自动同步到$scope.selectedYear变量中,可直接在业务逻辑中调用。

内容的提问来源于stack exchange,提问作者lfaruqui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 01:15:05