Angular Create Dynamic 年份下拉列表

新手上路,请多包涵

我想创建一个年份选择下拉列表。年必须从今年开始到下一个 7 年。

我努力了

var year = new Date().getFullYear();
var range = [];

range.push(year);

for (var i = 1; i < 7; i++) {
    range.push(year + i);
}

$scope.years = range;

<select class="form-control"  ng-options="year for year in years" name="expiryMonth" ng-model="expiryMonth" required>'

但这会创建一个 html ,

 <option label="2016" value="number:2016">2016</option>

这会创建一个必需的年份下拉列表,但我希望值是标签的最后两位数

另外,我的第一个选择应该是

<option value="">select month</option>

原文由 monda 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 338
2 个回答
 angular.module('app', [])
    .controller("Ctrl",
    function contactListCtrl($scope) {

       var year = new Date().getFullYear();
    var range = [];
    range.push(year);
    for (var i = 1; i < 7; i++) {
        range.push(year + i);
    }
    $scope.years = range;

    });
 <!DOCTYPE html>
<html ng-app="app">

<head>
    <link data-require="bootstrap-css@3.3.6" data-semver="3.3.6" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.css" />
    <script data-require="angular.js@1.4.9" data-semver="1.4.9" src="https://code.angularjs.org/1.4.12/angular.js"></script>

    <script src="script.js"></script>
</head>

<body ng-controller="Ctrl">

<select class="form-control" ng-model="expiryMonth" required>
  <option>Select month</option>
  <option ng-repeat="year in years">{{year}}</option>
  </select>
</body>

</html>

原文由 Stark Buttowski 发布,翻译遵循 CC BY-SA 3.0 许可协议

这将为您提供有用的动态年份范围。

 let years: number[] = [];
let currentYear: number = new Date().getFullYear();
for(let i = (currentYear - 7); i < (currentYear + 7); i++) {
    years.push(i);
}

原文由 Francois Stander 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏