jquery angular 上的日期选择器有 2 种不同的格式

jquery datepicker on angular with 2 different formats

我在 angular 应用上有一个 jquery ui datepicker

是这样定义的:

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"
                });
            });
        }
    }
});

现在我想以 yyyy-MM-dd 格式将值存储在 $modelValue 中,并在 [=35 上向用户显示该值=] 格式.

我怎样才能做到?

如何将jqueryui日期选择器的功能与angular的功能结合起来?

谢谢。

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,所以语法可能有误。