AngularJS datepicker添加到天数
问题描述:
我有一个包含'开始日期'和'持续时间'字段的AngularJS表单,并且我需要根据用户输入到这两个字段中的内容来计算'结束日期',即 结束日期=开始日期+天数AngularJS datepicker添加到天数
但我努力将它们转换为正确的数字格式来正确计算'结束日期'。
以下是基本代码: HTML
<div ng-controller="MyCtrl">
<p>Start Date: <md-datepicker ng-model="date" md-placeholder="Enter date" >
</md-datepicker></p>
<p>No of days:<input ng-model="noDays" type="number"></p>
<p>End Date: {{date+ noDays}}</p>
</div>
JS
var app = angular.module('myApp', ['ngMaterial', 'ngAnimate']);
app.controller('MyCtrl', function($scope) {
$scope.date = new Date();
});
而且这里的jsfiddle https://jsfiddle.net/benct/n6jwj61s/
赞赏任何帮助。由于
答
看到这里this答案
只需写写updateDate功能,增加了天:
<div ng-controller="MyCtrl">
<p>Start Date: <md-datepicker ng-model="date" md-placeholder="Enter date" ng-change='updateDate()'>
</md-datepicker></p>
<p>No of days:<input ng-model="noDays" type="number"
ng-model-options='{ debounce: 1000 }'
ng-change='updateDate()'></p>
<p>End Date: {{enddate}}</p>
</div>
JS
$scope.date = new Date();
$scope.enddate = new Date();
$scope.noDays = 0;
$scope.updateDate = function() {
$scope.enddate.setDate($scope.date.getDate() + $scope.noDays);
}
太好了,谢谢托比这一点。它在第一次正常工作,但如果用户然后修改'不。第二次输入的天数,它的工作不正确。它开始将天数添加到“结束日期”而不是“开始日期”。我相信这是对此https://jsfiddle.net/benct/ts70opub/2/ – BENCT
的修补程序是的,请参阅更新后的答案,endDate必须是一个额外的变量。 – Tobi
您还应该将ng-change = updateDate()添加到日期选择器中! – Tobi