如何使用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
相关产品推荐
相关产品推荐

