2017-02-06 13 views
0

У меня есть jquery ui datepicker на angular приложение с,JQuery DatePicker на угловой с 2-х различных форматов

Она определяется следующим образом:

app.directive('dwdatepicker', function() { 
    return { 
     restrict: 'A', 
     require : 'ngModel', 
     link : function (scope, element, attrs, ngModelCtrl) { 
      $(function(){ 
       element.datepicker({ 
        onSelect:function (date) { 
         scope.$apply(function() { 
          ngModelCtrl.$setViewValue(date); 
         }); 
        }, 
        dateFormat: 'dd/mm/yy', 
        changeYear: true, 
        yearRange: "-50:+0" 
       }); 
      }); 
     } 
    } 
}); 

Теперь я хочу, чтобы сохранить значение в $ modelValue на yyyy- MM-dd и показать значение пользователю по dd/mm/yy формате.

Как это сделать?

Как объединить возможности jquery ui datepicker с возможностями углового?

спасибо.

ответ

1

В функции onSelect вы можете сделать одно из следующих действий:

onSelect:function (date) { 
    scope.$apply(function() { 
     var isoDate = $.datepicker.formatDate('yy-mm-dd', $.datepicker.parseDate('dd/mm/yy', date)); 
     ngModelCtrl.$setViewValue(isoDate); 
    }); 
} 

Или

onSelect:function (date,) { 
    scope.$apply(function() { 
     var isoDate = $.datepicker.formatDate('yy-mm-dd',$(this).datepicker('getDate')); 
     ngModelCtrl.$setViewValue(isoDate); 
    }); 
} 

Не использовали JQuery в то время так синтаксис может быть неправильным.

+0

Я думал, что метод ** $ setViewValue ** update ** $ viewValue ** (не ** $ modelValue **), не так ли? – banana

 Смежные вопросы

  • Нет связанных вопросов^_^