如何使用angular-bootstrap-datetimepicker设置默认日期?

时间:2017-03-23 19:48:41

标签: javascript angularjs twitter-bootstrap

我正在使用angular-bootstrap-datetimepicker模块供用户选择日期和时间,如何在视图渲染时添加defualt dateandtime?我们是否有任何属性可以设置booleab值或任何其他更好的appraoch?

main.html中

<div class="dropdown form-group">
    <!-- <label>Start Date</label> -->
    <a class="dropdown-toggle" id="dropdownStart" role="button" data-toggle="dropdown">
        <div class="input-group date">
            <input type="text" class="form-control" data-ng-model="dateRangeStart" placeholder=" Search Start Date">
            <span class="input-group-addon"><i class="glyphicon glyphicon-calendar"></i></span>
        </div>
    </a>
    <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
        <datetimepicker data-ng-model="dateRangeStart" data-datetimepicker-config="{ dropdownSelector: '#dropdownStart', renderOn: 'end-date-changed' }" data-on-set-time="startDateOnSetTime()" data-before-render="startDateBeforeRender($dates)"></datetimepicker>
    </ul>
</div>

Ctrl.js

    $scope.endDateBeforeRender = endDateBeforeRender
        $scope.endDateOnSetTime = endDateOnSetTime
        $scope.startDateBeforeRender = startDateBeforeRender
        $scope.startDateOnSetTime = startDateOnSetTime

        function startDateOnSetTime () {
          $scope.$broadcast('start-date-changed');
        }

        function endDateOnSetTime () {
          $scope.$broadcast('end-date-changed');
        }

        function startDateBeforeRender ($dates) {
          if ($scope.dateRangeEnd) {
            var activeDate = moment($scope.dateRangeEnd);

            $dates.filter(function (date) {
                $scope.searchObj.endDate = activeDate._i;
                // console.log(activeDate);
              return date.localDateValue() >= activeDate.valueOf()
            }).forEach(function (date) {
              date.selectable = false;
              // console.log(date);
            })
          }
        }

function endDateBeforeRender ($view, $dates) {
      if ($scope.dateRangeStart) {
        var activeDate = moment($scope.dateRangeStart).subtract(1, $view).add(1, 'minute');

        $dates.filter(function (date) {
            $scope.searchObj.startDate = activeDate._i;
            // console.log(activeDate._i);
          return date.localDateValue() <= activeDate.valueOf()
        }).forEach(function (date) {
          date.selectable = false;
          // console.log(date);
        })
      }
    }

1 个答案:

答案 0 :(得分:0)

您应该能够将data-ng-model属性设置为默认值:

<datetimepicker data-ng-model="dateRangeStart"></datetimepicker>

在你的控制器中给dateRangeStart一个默认值:

$scope.dateRangeStart = new Date();