jQuery datepicker只能使用一次angularJs

时间:2016-08-15 10:06:20

标签: jquery css angularjs datepicker

在我的angularjs应用中,我在jquery datepicker内使用div

<div class="col-md-6" ng-show="!viewMode">
     <input type="text" readonly focus-me="{{ DateOfBirthFocus }}" id="DateOfBirth" name="DateOfBirth" ng-model="DateOfBirth" placeholder="01-jan-1991" class="form-control date-picker" ng-keydown="DateOfBirth_KeyDown($event)"  ng-blur="DateOfBirthFocus=false;" required>
</div>

第一次,当我加载页面时,它工作得很好,但后来我使用ng-show隐藏了这个div并再次显示它,datepicker不能按要求工作。它不会打开日历视图。我试过this solution,但它并没有帮助我。任何猜测我做错了什么或错过了什么?

任何形式的帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这可能是因为在jQuery初始化时DOM元素不可用。添加指令以解决此问题:

myApp.directive('datePickerFoo', function() {
    return {
        restrict: 'A',
        link: function (scope, element) {
            $(element).datepicker();

            // And optionally add based on your given link
            if (!$.datepicker.initialized) {
                $(document).mousedown($.datepicker._checkExternalClick);
                $.datepicker.initialized = true;
            }
        }
    }
});

考虑使用Angular的UI团队编写的ui-bootstrap库。你不需要jQuery依赖。