1

我正在使用angular-date rangepicker。对于我的要求,我需要选择将开始日期/结束日期或两者的日期设置为空。我查看了它的选项,但没有找到任何选项。

我还需要在日历弹出窗口中显示复选框以设置startDate为空,并将复选框设置endDate为空。

我找到了一个用于设置 null 的 plunker,但它将日期都设置为 null/blank Plunker

plunker使用

 eventHandlers: {
      'cancel.daterangepicker': function(ev, ev1) {
        $scope.datePicker.date = {};
        // $scope.setRange();
        var picker = $element.find('#daterange4').data('daterangepicker');
        picker.setStartDate(new Date);
        picker.setEndDate(new Date);
      }
    }

这清除了两个日期。就我而言,我希望可以选择清除任何一个日期。

4

2 回答 2

2

在控制器中准备模型。模型必须具有 startDate 和 endDate 属性:

exampleApp.controller('TestCtrl', function ($scope) {
   //make initial values null
    $scope.datePicker.date = {startDate: null, endDate: null};

    //method to change start date back to null
    $scope.makeStartDateNull = function(){
        $scope.datePicker.date.startDate = null;
    }
}

在 HTML 中,您只需像这样绑定这个 makeStartDateNull

<input type="checkbox" ng-model="confirmed" ng-change="makeStartDateNull()" id="ng-change-example1" />

您可以对结束日期执行相同操作。

于 2018-02-20T08:35:01.167 回答
0

您是否尝试将其设置为空?这是datepicker 给出的标准 plunker,可以通过以下方式将日期设置为空:

  $scope.clear = function() {
    $scope.dt = null;
  };

它适用于那个 plunker。我确实知道 datepicker 的早期版本中存在您所描述的错误。检查你的版本。

于 2018-02-20T08:34:11.023 回答