我正在尝试在 ng-options
中格式化日期,格式运行良好,但我无法将值绑定(bind)到 Controller 。我得到的值是未定义的。我做错了吗?
<select class="select" ng-model="classdate" ng-init="classdate=''" ng-options="d.date as d.value | date:'d,MMM,yyyy' for d in datelist" >
<option value="">Select lecture date</option>
</select>
在 Controller 中
alert($scope.classdate);
最佳答案
您需要在日期格式后删除as d.value
:
angular.module('mymodule', [])
.controller('mycontroller', ['$scope', function($scope) {
$scope.classdateUpdated = function() {
console.log($scope.classdate);
};
$scope.datelist = [new Date(2000, 01, 01), new Date(2000, 02, 01), new Date(2000, 03, 01), new Date(2000, 04, 01), new Date(2000, 05, 01), new Date(2000, 06, 01), new Date(2000, 07, 01)];
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app='mymodule'>
<div ng-controller='mycontroller'>
<select class="select" ng-model="classdate" ng-init="classdate=''" ng-options="d | date:'d,MMM,yyyy' for d in datelist" ng-change="classdateUpdated()">
<option value="">Select lecture date</option>
</select>
</div>
</body>
关于javascript - 具有日期格式的 angularjs ng-options,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45154718/