1

我正在使用Bootstrap 的日期范围选择器来选择日期范围,一切看起来都很好,我唯一的问题是,在我选择了日期并提交表单之后,我不知道如何获取值(日期) 我选了。

下面你可以看到我的daterangepicker设置:

<input ui-jq="daterangepicker" ui-options="{
      format: 'DD-MM-YYYY',
      startDate: '{{ first }}',
      endDate: '{{ second }}',
      separator: ' til ',
      showWeekNumbers: true,
      locale: {
           applyLabel: 'Vælg datoer',
           cancelLabel: 'Annuller',
           fromLabel: 'Fra',
           toLabel: 'Til',
           firstDay: 1
      }
}" ng-model="plane.date" class="form-control" placeholder="Dato" />

如您所见,我尝试添加ng-model,但仍然没有运气。

4

1 回答 1

0

您有 2 个选项:

在应用事件上设置它:(不要忘记 $scope.$apply 部分)

 angular.element('input#dataRange') = datePicker;
 datePicker.on('apply.daterangepicker', function (ev, picker) {
                $scope.$apply(function () {
                    $scope.fromDate = picker.startDate.format("YYYY-MM-DD");
                    $scope.toDate = picker.endDate.format("YYYY-MM-DD");
                });
            });

或随时获取值:

angular.element('input#dataRange')= datePicker;
$scope.fromDate = datePicker.data('daterangepicker').startDate.format("YYYY-MM-DD");
$scope.toDate = datePicker.data('daterangepicker').endDate.format("YYYY-MM-DD");

如果您想在用户手动编辑输入时获得失去焦点(模糊)的日期,这也很有用:

datePicker.on('blur', function (ev) {
                    $scope.$apply(function () {
                        $scope.fromDate = datePicker.data('daterangepicker').startDate.format("YYYY-MM-DD");
                        $scope.toDate = datePicker.data('daterangepicker').endDate.format("YYYY-MM-DD");
                    });
                });
于 2016-01-19T12:58:46.153 回答