uib-datepicker-popup не откроется снова - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь использовать uib-datepicker-popup, но сталкиваюсь с проблемой, которая заключается в том, что после открытия календаря и выбора даты я не могу открыть календарь без обновления экрана.Я перебираю вызов функции по ng-click, и он устанавливает для флага is-open значение true, но всплывающее окно не отображается после первого раза.

Это HTML:

<span class="input-group" >
    <input type="text" class="input-sm "  uib-datepicker-popup="{{format}}"
           ng-model="requestDate" is-open="opened1"
           datepicker-options="dateOptions"  close-text="Close"  />
    <span class=" input-sm" >
        <button type="button" class="btn btn-default"  ng-click="open1()">
          <i class="glyphicon glyphicon-calendar"></i>
        </button>
    </span>
</span>

И контроллер:

$scope.format = 'yyyy-MM-dd';
$scope.dateOptions = {
    'year-format': "'yy'",
    'starting-day': 1
};

$scope.open1 = function() {
    $scope.opened1 = true;
};

Я не понимаю, почему он не открывается ... какие-то мысли?

1 Ответ

0 голосов
/ 13 июня 2018

спасибо всем за помощь.Я сделал намного больше поиска после того, как отправил вопрос и столкнулся с чем-то, что решило проблему ... не уверен, почему это заставило это работать, но это делает.

Я изменил функцию open1 на следующую ... Я заставил ее работать сначала для одной, а затем расширился, чтобы я мог использовать ее для всех ...

    $rootScope.openCalendar = function($event,whch) {
        $event.preventDefault();     <- I had tried this before
        $event.stopPropagation();    <- I had tried this before
        $rootScope.datepicker = {[whch]: true}; 

};

В моемHTML Я изменил обе строки: (ищите <-) </p>

<input type="text" class="input-sm "  uib-datepicker-popup="{{format}}"
       ng-model="requestDate" is-open="datepicker.opened1"    <--
       datepicker-options="dateOptions"  close-text="Close"  />
<span class=" input-sm" >
    <button type="button" class="btn btn-default"  ng-click="openCalendar($even, 'opened1')">   <--
      <i class="glyphicon glyphicon-calendar"></i>
    </button>
</span>

Это работает очень хорошо из того, что я вижу до сих пор.Полагаю, я мог бы немного его сократить, воспользовавшись предложением Лекса ...

Еще раз спасибо!

...