仅允许在ui.datepicker中使用工作日

时间:2014-12-20 16:53:58

标签: angularjs

我在我的表单中使用了角度引导日期选择器。

我正在尝试在此datepicker中实现以下功能:

  1. 用户可以选择的最短日期是下一个工作日
  2. 默认日期应为下一个工作日
  3. 日期字段仅显示2014年12月22日(星期一)
  4. 限制用户选择非营业日
  5. 营业日是M-F

    熟悉配置此小部件的人,请提供建议。

    Plnkr:

    http://plnkr.co/edit/jKdD6W4vwrh9IkEgq5TR
    

    选项:

    //Set default date to be the next business day
      $scope.forDate = moment().add(1, 'days');
    
      //minDate should also start from next business day
      $scope.minDate = $scope.minDate ? null : new moment()
    
      //What should be entered here ?
      $scope.disable = function(){
    
      }
    

2 个答案:

答案 0 :(得分:2)

您可以使用

将开始日设置为星期一
$scope.dateOptions = {
    'year-format': "'yy'",
    'starting-day': 1
  };

您可以停用

等工作日
  // Disable weekend selection
  $scope.disabled = function(date, mode) {
    return ( mode === 'day' && ( date.getDay() === 0 || date.getDay() === 6 ) );
  };

  <input type="text" datepicker-popup="dd-MMMM-yyyy" ng-model="dt" open="opened" min="minDate" max="'2015-06-22'" datepicker-options="dateOptions" date-disabled="disabled(date, mode)" name='theDate' ng-required="true" />

查看date-disabled="disabled(date, mode)

这是plunker

答案 1 :(得分:1)

如果您只想禁用周末,那么您可以这样做:

$('yourSelector').datepicker({
    beforeShowDay: $.datepicker.noWeekends // disable weekends
});