【问题标题】:Angular js Datepicker and jqueryAngular js Datepicker 和 jquery
【发布时间】:2017-04-17 21:45:47
【问题描述】:
我想要一个只显示月份和年份选项的日历,格式应该是月份和年份(yyyy-mm)。选择月份和年份后,它应该使用提到的格式更新 ng-model 变量值( yyyy-mm)。我在 angularjs 文件中尝试了多个 jquery ui-datepicker,但未能成功。请帮帮我。
【问题讨论】:
标签:
angularjs
jquery-ui-datepicker
uidatepicker
【解决方案1】:
这个带有引导日期选择器的指令可以提供帮助。
引导 URL:https://github.com/Eonasdan/bootstrap-datetimepicker
版本:4.17.37
directives.directive("pedDatepicker", function () {
return {
restrict: 'A',
require: "ngModel",
link: function (scope, element, attrs, ngModelCtrl) {
element.datetimepicker({
format: 'MM/YYYY',
useCurrent: false,
useStrict: true,
maxDate: 'now',
ignoreReadonly: false,
})
.on("dp.change", function (e) {
scope.dateValid = moment(e.date).format("MM/YYYY");
ngModelCtrl.$setViewValue(moment(e.date).format("MM/YYYY"));
scope.$apply();
})
.on("blur", function (e) {
if(ngModelCtrl.$modelValue && ngModelCtrl.$modelValue.length === 7 && moment(ngModelCtrl.$modelValue,'MM/YYYY').isValid()){
scope.dateValid = ngModelCtrl.$modelValue;
ngModelCtrl.$setViewValue(ngModelCtrl.$modelValue);
scope.$apply();
} else {
if(scope.dateValid) {
ngModelCtrl.$setViewValue(scope.dateValid);
} else {
ngModelCtrl.$setViewValue();
}
scope.$apply();
}
});
},
};
});