2015-07-05 105 views
0

我完全不熟悉angular js。但我不知何故設法在我的Angular JS項目中集成了一個jQuery UI日期選擇器。 但是現在我想將jQuery datepicker選擇的日期格式化爲ISO日期格式,我無法做到這一點。 這是我的代碼。Angular JS指令和JQuery Datepicker

HTML

<input type="text" ng-model="event.when.start" datetime-picker> 

ANGULAR控制器

myApp.directive('datetimePicker', function() { 
    return { 
     require : 'ngModel', 
     link : function (scope, element, attrs, ngModel) { 
      $(function(){ 
       element.datetimepicker({ 
        dateFormat:'yy-mm-dd', 
        minDate: 0, 
        yearRange: '1920:2012', 
        minute: 0, 
        stepMinute: 15, 
        onSelect:function (dateText, inst) { 
         var dt = new Date(dateText); 
         alert(dt.toISOString()); 
         ngModel.$setViewValue(dt.toISOString()); 
         scope.$apply(); 
        } 
       }); 
      }); 
     } 
    } 
}); 

SCREENSHOT

enter image description here

注意*:雖然我能夠提醒您的價值。

回答

2

簡單,如下

myapp.controller('myctrl',function myctrl ($scope){ 
    $scope.event = {when : {start : ''}} 
    $scope.event.when.start = new Date(); 
}). 

    myApp.directive('datetimePicker', function() { 
     return { 
      require : 'ngModel', 
      link : function (scope, element, attrs, ngModel) { 
       $(function(){ 
        element.datetimepicker({ 
         minDate: 0, 
         yearRange: '1920:2012', 
         minute: 0, 
         stepMinute: 15, 
         onSelect:function (dateText, inst) { 

          scope.$apply(function(){ 
           scope.event.when.start = new Date(dateText); 
          }); 
         } 
        }); 
       }); 
      } 
     } 
    }); 

,如果你需要ISO日期不使用dateFormat:'yy-mm-dd',

+0

謝謝你的答案@ bews99。有用! :)但爲此,我需要點擊兩次datepicker。是否可以格式化日期,當我專注於該輸入字段。 –

+0

你能通過小提琴發送你的代碼嗎? – bews99

+0

我編輯了我上面的評論。正如我所說,它正在工作,但我需要點擊datepicker的日期兩次,使其工作。 –