我需要将datepicker输入的最小日期设置为今天日期之后的5天。我已经为AngularJS设置了jQueryUI的datepicker指令,并且它本身很好。当我尝试为单个日期选择器的输入添加任何属性(如'min'(Date))时,它看起来并不尊重该属性,并向我显示所有日期。如何动态设置AngularJS的属性jQueryUI datepicker指令
对不起,不具有的jsfiddle或plunker
编辑:更新,以显示解决方案
的index.html
<input id="requestDate" type="text" ng-model="requestDate" ss-datepicker min-date="5"/>
Datepicker.js
app.directive('ssDatepicker', function(){
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, element, attrs, ngModelCtrl){
$(function(){
element.datepicker({
dateFormat:'dd-M-yy',
showOn: 'both',
buttonImage: "/e/images/calendar-ui.gif",
buttonImageOnly: true,
buttonText:'Choose a Date',
beforeShow: function(element, datepicker){
if(attrs.minDate){
angular.element(element).datepicker("option", "minDate", attrs.minDate);
}
if(attrs.maxDate){
angular.element(element).datepicker("option", "maxDate", attrs.maxDate);
}
},
onSelect:function(date){
scope.$apply(function(){
ngModelCtrl.$setViewValue(date);
});
}
});
});
}
}
});
提前感谢!
感谢您的回复。我试过添加attrs.min,但它似乎也不起作用。我更新了原来的帖子,并提供了您所建议的更改(如果我错过了某些内容,请让我知道)。此外,该指令是从这个博客创建的:http://www.abequar.net/jquery-ui-datepicker-with-angularjs/ – BillF
只需将'minDate'放在同一级别als'showOn','dateFormat' Plunkr分叉的链接中的一个: http://plnkr.co/edit/MyduNfrchgsuD9mAYOEU?p=preview –