2014-04-15 4 views
2

Я использую аддон jQuery timepicker для расширения jQuery datepicker, который позволяет мне иметь дату + выбор времени. link to the addonsetDefaults для jQuery datetimepicker addon

Для настройки параметров по умолчанию, таких как форматирование и региональные настройки, я использую опцию setDefaults как для даты, так и для тайм-пика. Я называю datetimepicker, и все работает отлично.

// Working 
jQuery.datepicker.setDefaults({buttonImage: '../images/cal.gif'}); 
jQuery.timepicker.setDefaults({buttonImage: '../images/time.png'}); 
jQuery("#datepicker").datepicker(); 
jQuery("#timepicker").timepicker(); 
jQuery("#datetimepicker").datetimepicker(); 

Datepicker покажет изображение календаря, а timepicker отобразит временное изображение. Проблема в том, что я хочу, чтобы datetimepicker показывал изображение календаря.

Я попытался следующие:

// 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(); 

Но это приводит к следующей ошибке:

TypeError: jQuery.datetimepicker is undefined 

Я знаю jQuery("#datetimepicker").datetimepicker({buttonImage: '../images/cal.gif'}); исправляет проблему, но это означает, что я должен изменить изображение на каждом вызов. Мне нужно, чтобы он был по умолчанию, как datepicker и timepicker.

ответ

1

Похоже, что datetimepicker-plugin не поддерживает настройки по умолчанию, но вы можете реализовать вид обходного пути. Просто добавьте его, как и сами с JQuery-Object:

(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(); 

Примечания: Это непроверенное и просто идея, я рекомендую вам играть вокруг на jsfiddle.

+0

Я понимаю, о чем вы говорите. К сожалению, это немного за пределами моего знания javascript. Я также сообщил об этом авторам GidHub. – Fluitketel

Смежные вопросы