我在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值,并以 dd/mm/yy 格式向用户显示值。
我该怎么做?
如何将jquery ui datepicker的功能与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了,所以语法可能是错误的。