Angularjs - 720kb.datepicker - 手动打开日历

时间:2016-10-27 11:25:44

标签: angularjs

我使用720kb.datepicker来显示日历。我想以手动方式从链接打开日历。

这是html代码:

getElementById

我想在文本中填写clik时打开日历"打开日历"

我试着专注于这个文档,但我无法得到它: http://pythonhackers.com/p/720kb/angular-datepicker

特别是在本节中:手动显示和隐藏datepicker

怎么办?感谢,

2 个答案:

答案 0 :(得分:1)

您还需要与datepicker-show一起使用datepicker-toggle。这里is my updated plunkr

我不太确定他们是否已经处理了所有查看源代码的事件。您可能必须使用jQuery和$(window).on('blur click',function(){})和$('#spanId')。on('blur click',function(){})等等跨度,窗口让这个完全正常工作。

  

控制器:

        var app = angular.module('plunker', ['720kb.datepicker']);

        app.controller('MainCtrl', function($scope, $interval, $window) {
          $scope.visibility = false;
          $scope.toggled = false;


          $scope.toggle = function(){
            $scope.visibility = !$scope.visibility;
            $scope.toggled = !$scope.toggled;
          }

        });
  

HTML:

        <datepicker date-format="dd/MM/yyyy" datepicker-toggle="false" datepicker-show="{{ visibility }}">
          <!-- Use flag for visibility -->
          <input type="text" class="form-control" id="date-birth" name="dateBirth" required="" ng-model="dateBirth" placeholder="DD / MM / YYYY" maxlength="10" ng-pattern="/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/" validator="isDateofBirthMore" />
          <!-- Set flag = true on click -->
          <span id="openMe" ng-click="toggle()">open calendar</span>
        </datepicker>

仅通过单击跨度切换开/关工作。如果触发事件不适合您,您可以使用更改范围文本来在切换时读取打开/关闭。

答案 1 :(得分:-1)

只需使用标记来跟踪可见性:

<datepicker date-format="dd/MM/yyyy"
            datepicker-show="{{ showDatepicker }}"> <!-- Use flag for visibility -->
    <input type="text" class="form-control" id="date-birth" name="dateBirth"
           required
           ng-model="dateBirth"
           placeholder="DD / MM / YYYY" 
           maxlength="10"
           ng-pattern="/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/"
           validator="isDateofBirthMore" />
    <!-- Toggle flag on click -->
    <span ng-click="showDatepicker = !showDatepicker">open calendar</span>
</datepicker>