在我的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,但它并没有帮助我。任何猜测我做错了什么或错过了什么?
任何形式的帮助将不胜感激。
答案 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依赖。