The addon project seems dead. Last commit was 3 years ago. I posted this answer to mark this question as resolved.
setDefaults for jQuery datetimepicker addon
-
03-07-2023 - |
سؤال
I'm using the jQuery timepicker
addon to extend the jQuery datepicker
which allows me to have a date+time picker. link to the addon
In order to set the default settings like formatting and regional settings I use the setDefaults
option on both the datepicker and timepicker. I call the datetimepicker and everything works great.
// Working
jQuery.datepicker.setDefaults({buttonImage: '../images/cal.gif'});
jQuery.timepicker.setDefaults({buttonImage: '../images/time.png'});
jQuery("#datepicker").datepicker();
jQuery("#timepicker").timepicker();
jQuery("#datetimepicker").datetimepicker();
The datepicker will show a calendar image, and the timepicker will show a time image. The problem is that I want the datetimepicker to show a calendar image.
I tried the following:
// Not working
jQuery.datepicker.setDefaults({buttonImage: '../images/cal.gif'});
jQuery.timepicker.setDefaults({buttonImage: '../images/time.png'});
jQuery.datetimepicker.setDefaults({buttonImage: '../images/cal.gif'});
jQuery("#datepicker").datepicker();
jQuery("#timepicker").timepicker();
jQuery("#datetimepicker").datetimepicker();
But this results in the following error:
TypeError: jQuery.datetimepicker is undefined
I know jQuery("#datetimepicker").datetimepicker({buttonImage: '../images/cal.gif'});
fixes the problem, but this means I will have to change the image on every call. I need it to be default like the datepicker and the timepicker.
المحلول 2
نصائح أخرى
Looks like datetimepicker-plugin does not supports default settings, but you can implement kind of a workaround. Just add it as a JQuery-Object itself:
(function ($) {
$.datetimepicker.defaults = {
buttonImage: '../images/cal.gif'
};
$.fn.datetimepicker = function (options) {
var settings = $.extend($.datetimepicker.defaults, options);
}
});
$.datetimepicker.defaults.buttonImage = '../images/someimage.gif';
$('.dtpicker').datetimepicker();
Note: This is untested and just an idea, i recommend you playing around on a jsfiddle.