Javascript 在AngularJS中动态设置jQuery日期选择器的最大限制
在我的应用程序中,最大日期是根据一些逻辑计算的。日期是JSON日期。它将用于设置最长日期 为了显示问题,我创建了一个plunker链接() 在我的示例中,Javascript 在AngularJS中动态设置jQuery日期选择器的最大限制,javascript,angularjs,json,date,datepicker,Javascript,Angularjs,Json,Date,Datepicker,在我的应用程序中,最大日期是根据一些逻辑计算的。日期是JSON日期。它将用于设置最长日期 为了显示问题,我创建了一个plunker链接() 在我的示例中,max-date属性获取JSON日期 <input type="text" date-picker="" date-range="true" ng-model="Date" class="form-control input-sm" placeholder="MM/DD/YYYY" ng-required="true" name="D
max-date
属性获取JSON日期
<input type="text" date-picker="" date-range="true" ng-model="Date"
class="form-control input-sm" placeholder="MM/DD/YYYY"
ng-required="true" name="Date" ng-pattern='datePattern'
max-date="dateLimit"/>
我已经制定了一个指令来帮助我实现这一目标
app.directive('datePicker', function () {
return {
require: 'ngModel',
scope: {
dateRange: '=',
maxDate: '='
},
link: function (scope, el, attr, ngModel) {
if (scope.dateRange !== undefined && scope.dateRange) {
$(el).datepicker({
maxDate: scope.maxDate,
minDate: '-1M',
onSelect: function (dateText) {
scope.$apply(function () {
ngModel.$setViewValue(dateText);
});
}
});
}
else {
$(el).datepicker({
onSelect: function (dateText) {
scope.$apply(function () {
ngModel.$setViewValue(dateText);
});
}
});
}
}
};
});
这不是一个有效的日期:
“/date(15227280000000)/”
(但是一个字符串),而且肯定不是一个有效的JSON(请检查)
您可以做的是传递给函数getcalculatedate
a(参见此)。例如:
$scope.dateLimit = getCalculatedDate(new Date());
或者。。。从“JSON”中包含的值1522728000000
(顺便说一句,该值不是有效日期,请参阅和)在getCalculateDate
函数中创建如下日期(请参阅):
其他读数(多亏了OP,Dotnebeginner!)
新日期($scope.scheduleDate)
提供了无效日期
还可以检查链接,谢谢您的支持。我忽略了一件你不知道的事mentioned@DotNetBeginner伟大的我将把这些链接添加到文章中,这样将来的读者可以很容易地找到它。这里没有“JSON日期”。见和。
$scope.dateLimit = getCalculatedDate(new Date());
$scope.dateLimit = getCalculatedDate("2018-10-20T03:24:00");
// ...
function getCalculatedDate(dateNum) {
var date = new Date(dateNum);
// ... remainder omitted
}