2015-04-11 1 views
2

Я использую Angular Bootstrap DateTimePicker.Как отключить даты с dateTimePicker AngularJS bootstrap

Я пытаюсь выяснить, как отключить определенные даты, но ничего не работает.

Есть ли у кого-нибудь предложения?

+0

Вы покажете нам, что вы уже пробоировали? – nweg

+0

Вы проверили https://github.com/dalelotts/angular-bootstrap-datetimepicker/issues/158 Они предлагают использовать beforeRender, чтобы вы могли установить minDate и maxDate. – GabrielOshiro

ответ

2

Я нашел ответ. Я использую beforerender, поскольку они предлагают: Я беру все объекты текущего представления (месяц). Ищете эту конкретную дату, затем изменяя этот атрибут, выбранный для даты, как false.

+0

Можете ли вы поделиться кодом, пожалуйста? поможет другим ... – Fahad

1

Это работает для меня с Dale Lotts DateTimePicker.

$scope.beforeRender = function ($view, $dates, $leftDate, $upDate, $rightDate) { 
     var nowUtc = new Date(); 
     if ($view === 'day') { 
      nowUtc.setHours(0, 0, 0, 0); 
     } else { 
      if ($view === 'hour') { 
       nowUtc.setMinutes(0, 0, 0); 
      } 
     } 

     for (var i = 0; i < $dates.length; i++) { 
      if ($dates[i].utcDateValue < nowUtc) { 
       $dates[i].selectable = false; 
      } else { 
       $dates[i].selectable = true; 
      } 
     } 
    }