سؤال

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

The addon project seems dead. Last commit was 3 years ago. I posted this answer to mark this question as resolved.

نصائح أخرى

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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top