禁用周末和以前的日期-AngularJS

时间:2018-09-11 19:08:44

标签: angularjs

我正在使用以下代码插入日期选择器文本框。

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.min.js"></script>    
<script>    
function MainController($scope) {    
$scope.date = new Date();    
}    
</script>    


<body ng-app>    
<div ng-controller="MainController">    
<input type="date" ng-model="date" value="{{ date | date: 'yyyy/MM/dd' }}" />    
</body>  

Angular JS日历

enter image description here

我希望以下内容可以实现;

A。禁用周末选择

B。禁用以前的日期(从昨天开始)

C。禁用包括今天在内的4天(例如,如果今天是12天,则应该禁用12到17天-包括已经禁用的周末)

我已经使用JQuery Datepicker做到了这一点,但是无法使用AngularJS做到这一点。请帮忙。

附加了Jquery Datepicker的屏幕截图。

enter image description here

1 个答案:

答案 0 :(得分:1)

在这里,您依赖于浏览器对<input>的实现,该实现不是很强大。使用此功能,您不能将特定日期显示为灰色,只能使用minmax属性(可以实现B目标)进行设置。

AJS社区提供了多种解决方案,包括:

  • ui-date,显然是您习惯使用的jQuery选择器的复制粘贴(不过请阅读警告,他们没有将其作为最佳解决方案出售)
  • UI Bootstrap's datepicker似乎更强大,并且在ui-date的页面中进行了介绍-但我看不到如何使用其选项实现A和C目标
  • 经过验证的md-datepicker,可让您使用md-min-datemd-max-date达到B,并通过md-date-filter达到A,B和C;演示是here(我个人最喜欢的,以防不足够^^)