[英]Make directive by jquery datepicker
我已经通过使用jQuery ui datepicker发出了以下代码的指令
app.directive('jqdatepicker', ['$parse', '$filter', function ($parse, $filter) {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attrs, ngModelCtrl) {
//Used to parse date format
function formatter(value) {
if (value) {
return jQuery.datepicker.formatDate(options.dateFormat, value);
}
return null;
}
//Used to parse date format
function parseDate(value) {
if (angular.isString(value)) {
return jQuery.datepicker.parseDate(options.dateFormat, value);
}
return null;
}
//select date
var updateModel = function (dateText) {
scope.$apply(function () {
ngModelCtrl.$setViewValue(dateText);
});
};
//date picker options
var options = {
dateFormat: "dd/mm/yy",
onSelect: function (dateText) {
updateModel(dateText);
}
};
//parsing
ngModelCtrl.$formatters.push(formatter);
ngModelCtrl.$parsers.unshift(parseDate);
// If we don't destroy the old one it doesn't update properly when the config changes
element.datepicker('destroy');
//bind datepicker
element.datepicker(options);
// Force a render to override whatever is in the input text box
//ngModelCtrl.$render();
}
};
}]);
使用指令
<input ng-if="VM_Volunteer.isEdit" type="text" jqdatepicker class="form-control" ng-model="VM_Volunteer.dateOfBirth">
当我选择日期时,日期设置为我的文本框,它没有问题,但是在将该日期保存到我的数据库中之后,我就得到了该日期并希望显示在此文本框中,但是日期未显示。 当我得到这个日期时,它是甲酸盐的日期。 我有什么问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.