jQuery的日期选择器2种不同格式
问题描述:
我有一个jquery ui datepicker
上angular
应用,jQuery的日期选择器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的功能与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所以语法可能是错误的。
我以为** $ setViewValue ** update ** $ viewValue **(不是** $ modelValue **)**的方法,不是吗? – banana