2016-12-02 1 views
0

Я использую datepicker of UI Bootstrap: (есть Plunker there, которые отключили прошлые дни с помощью кнопки).Отключить будущие дни в ui.bootstrap.datepicker Angularjs

Может ли кто-нибудь помочь мне отключить будущие дни без каких-либо кнопок?

Я попытался изменить функцию кнопки, как это, но это не сработало:

$scope.toggleMin = function() { $scope.options.minDate = $scope.options.minDate ? **new Date()** : **null** ; };

И это кнопка, я хотел бы, чтобы отключить без кнопки.

ответ

2

Просто установите maxDate в options на дату, которую вы хотите ограничить.

$scope.options = { 
    customClass: getDayClass, 
    maxDate: new Date(), // restrict maximum date to today 
    showWeeks: true 
}; 

В противном случае, если вам необходимо изменить его после того, как все функции будут установлены вы можете просто сделать:

$scope.options.maxDate = new Date(), // restrict maximum date to today 

Вот обновленный Plunker с дней после того, как сегодня отключены: https://plnkr.co/edit/0iqNNEcATzv4t8h8n41X?p=preview

+0

Я просто освежил plunker ... Я не спас мои изменения –

+0

спасибо! Решено! – kfm

0

HTML

<div ng-controller="DateParserDemoCtrl"> 
    <p class="form-group"> 
    <label>Select a date</label> 
    <input type="text" class="form-control" uib-datepicker-popup="{{format}}" ng-model="date" maxDate="maxDate"/> 
    </p> 
</div> 

контроллер

angular.module('ui.bootstrap.demo').controller('DateParserDemoCtrl', function ($scope, uibDateParser) { 
    $scope.format = 'yyyy/MM/dd'; 
    $scope.maxDate= new Date(); //if want to change another future date, set the parameters to this object 
    $scope.date= new Date(); 
}); 
0

Установите класс DatePicker и Set endDate = new Date()

$('.date-datepicker').datepicker({ 
     autoclose: true, 
     endDate: new Date() 
    }); 
Смежные вопросы