Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在AngularJS中动态设置jQuery日期选择器的最大限制_Javascript_Angularjs_Json_Date_Datepicker - Fatal编程技术网

Javascript 在AngularJS中动态设置jQuery日期选择器的最大限制

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

在我的应用程序中,最大日期是根据一些逻辑计算的。日期是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="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!)


这是我从mvc控制器到angularjs控制器的日期获取方式。请检查我在问题中添加的屏幕截图。如果你是mvc控制器程序员,你可能需要修复这个问题。否则,您将不得不应用一些变通方法。由于您肯定能够检查
新日期($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
}