带有AngularJS的jQuery日期选择器;TypeError:element.datePicker不是函数;

带有AngularJS的jQuery日期选择器;TypeError:element.datePicker不是函数;,jquery,angularjs,jquery-ui,datepicker,Jquery,Angularjs,Jquery Ui,Datepicker,我试图在AngularJS应用程序中使用jQuery datepicker,但收到以下错误消息: jQuery datepicker with AngularJS: "TypeError: element.datePicker is not a function" 我使用的是这个答案中的代码: 下面是同一答案中的一把小提琴: 这是我正在使用的完整代码: <html> <head> <script src="/js/angular.min.js">

我试图在AngularJS应用程序中使用jQuery datepicker,但收到以下错误消息:

jQuery datepicker with AngularJS: "TypeError: element.datePicker is not a function"
我使用的是这个答案中的代码:

下面是同一答案中的一把小提琴:

这是我正在使用的完整代码:

<html>
<head>
    <script src="/js/angular.min.js"></script>
    <script src="/lib/jquery/jquery-1.12.0.min.js"></script>
    <script src="/lib/jquery/jquery-ui-1.11.4.min.js"></script>
    <link rel="stylesheet" type="text/css" href="/lib/jquery/jquery-ui-1.11.4.min.css">
</head>

<body ng-app="app">

<script>
var datePicker = angular.module('app', []);

datePicker.directive('jqdatepicker', function () {
    return {
        restrict: 'A',
        require: 'ngModel',
         link: function (scope, element, attrs, ngModelCtrl) {
            element.datePicker({
                dateFormat: 'DD, d  MM, yy',
                onSelect: function (date) {
                    scope.date = date;
                    scope.$apply();
                }
            });
        }
    };
});
</script>

<p><input type="text" ng-model="date" jqdatepicker></p>
<p>{{ date }}</p>

</body>
</html>

var datePicker=angular.module('app',[]);
指令('jqdatepicker',函数(){
返回{
限制:“A”,
要求:'ngModel',
链接:函数(范围、元素、属性、ngModelCtrl){
元素日期选择器({
日期格式:“日、日、月、年”,
onSelect:功能(日期){
scope.date=日期;
作用域:$apply();
}
});
}
};
});

{{date}}


我到底做错了什么?谢谢大家!

当您在
jQuery
之前加载AngularJS时,默认情况下将使用
jQLite
,这是Angular自身内部较小的
jQuery
API

基本上,您需要在angular js之前包含jQuery,以便在查询DOM时默认使用
jQuery
api

否则,您需要显式使用
$(元素)

注意

确保两个jQuery库的版本应该相同,jQuery& jQuery.ui两者都有


还要检查jquery ui是否实际存在,是否正确指向bower_组件。

您需要按照以下顺序添加JS文件,如下所述

  • jquery.js

  • jquery-ui.js

  • 矩.js

  • bootstrap-datetimepicker.js

  • app.js(您的角度模块参考)

  • angular-bootstrap-datetimepicker-directive.js


  • 我也面临同样的问题,因为我错过了
    bootstrap datetimepicker.js
    文件引用。希望这对大家都有帮助:)

    谢谢您的回复,Pankaj,但不幸的是还是一样。以防万一,我改成了在线图书馆,但没有改变。这些是我正在使用的库:@MarcusEdensky检查更新的答案。还要确保库版本应该相同。。使用最新的角度稳定版本,即
    1.4.8
    再次感谢Pankaj,但它仍然不起作用。我升级到Angular 1.4.9(显然是稳定的),并使用jQuery和jQueryUI的1.12.0。“你有什么想法吗?”马库塞登斯基,你能给我一把小提琴或一把普朗克吗?以便我能进一步提供帮助