2014-09-25 66 views
0

我建立在角JS Web應用程序,當我嘗試包括日期選擇器它顯示諸如錯誤「elem.datepicker是不是一個函數」在Angularjs應用程序中Datepicker錯誤?

我提到this link for the datepicker代碼,有現場演示。下面

的是我的代碼,這將注入angularjs應用程序的索引頁面

HTML

<div id="wrapper" ng-app="myApp"> 
    <p>{{datePicker || "00/00/0000"}}</p> 
    <input type="text" ng-model="datePicker" datepicker /> 
</div> 

app.js

var myApp = angular.module('myApp', []); 

myApp.directive("datepicker", function() { 
    return { 
    restrict: "A", 
    require: "ngModel", 
    link: function (scope, elem, attrs, ngModelCtrl) { 
     var updateModel = function (dateText) { 
     scope.$apply(function() { 
      ngModelCtrl.$setViewValue(dateText); 
     }); 
     }; 
     var options = { 
     dateFormat: "dd/mm/yy", 
     onSelect: function (dateText) { 
      updateModel(dateText); 
     } 
     }; 
     elem.datepicker(options); 
    } 
    } 
}); 

我試過很多解決這一點,但我不能「T。

+0

嘗試使用[angular-bootstrap-ui]提供的datepicker(http://angular-ui.github.io/bootstrap/)? – dddd1919 2014-09-25 13:32:49

+0

你可以爲這個問題做一個plunkr嗎?我無法想象你的'elem'如何在不注入第三方庫的情況下具有日期選擇器功能。 – 2014-09-25 13:34:28

+1

你的頁面中是否包含jquery.js和datepicker.js? – Josep 2014-09-25 13:39:09

回答

1

在我的電腦您的代碼工作正常,我想你忘記導入js文件,

添加的角度引導,jQuery的,引導

-ui-引導-TPLS-0.5.0.js - jquery-1.7.2.min.js -bootstrap-combined.min.css

+0

對於已經在評論中已經回答的內容做出回答的工作非常好,非常蹩腳! – Josep 2014-09-25 13:51:02

+0

@Furkan你可以請列出需要包含的js文件 – sathishkumar 2014-09-25 14:10:39

0

您的HTML應該看起來像這樣與下面的庫工作。

<!DOCTYPE html> 
<head> 
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/themes/smoothness/jquery-ui.css"/> 
<script src="http://code.jquery.com/jquery-1.10.2.js"></script> 
</head> 
<div id="wrapper" ng-app="myApp"> 
    <p>{{datePicker || "00/00/0000"}}</p> 
    <input type="text" ng-model="datePicker" datepicker /> 
</div> 
</html> 
<script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script> 
<script src="myApp.js"></script> 
-1

包括JQuery的前角,然後ELEM已經是一個jQuery對象,然後你可以使用它,而$()

我有同樣的問題。我第一次固定它在$()包裝ELEM:

$(elem).datepicker(options); 

但要解決這個問題的正確方法是包含在正確的順序庫。