簡體   English   中英

禁用過去的日期和迄今為止的持續時間為三個月

[英]disable past dates and to-date duration to three month

我創建了一個使用angularjs獲取日歷的應用程序,我使用了angular-bootstrap-datetimepicker插件來實現這一目標。 該應用程序工作正常,但問題是我想要禁用除當前日期之外的所有通過日期,並且從當前日期開始只應啟用三個月。

是否有任何功能,如此插件的開始日期和結束日期

任何人都可以幫我這個

我的工作演示顯示在JSFiddle中

HTML

<div ng-app="myApp">
    <div ng-controller="AppCtrl">Selected Date: {{ data.embeddedDate | date:'yyyy-MM-dd a' }}
        <datetimepicker data-ng-model="data.embeddedDate" data-datetimepicker-config="{ startView:'day', minView:'day' }" />
    </div>
</div>

腳本

var app = angular.module('myApp', ['ui.bootstrap.datetimepicker']);
app.controller('AppCtrl', function ($scope) {
});

有一個'before-render'回調將在DateObject的每個渲染上執行,給你一系列DateObject出現在當前視圖中。 DateObject一個屬性是selectable 設置控制是否可以選擇日期。

對於您的場景,它很容易實現:

$scope.beforeRender = function ($view, $dates, $leftDate, $upDate, $rightDate) {
        var threeMonthsLater = moment().add(3, 'months');
        for(var index=0;index<$dates.length;index++) {
            $dates[index].selectable = moment($dates[index].utcDateValue).isBetween(moment(),threeMonthsLater);            
        }
    }

對於isBetween支持,請使用大於2.9的isBetween版本。 無論如何,這個庫是datepicker所必需的。

工作小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM