2014-04-15 86 views
2

我使用的jQuery timepicker插件來擴展jQuery datepicker,它允許我有一個日期+時間選擇器。 link to the addonsetDefaults for jQuery datetimepicker addon

爲了設置格式化和區域設置等默認設置,我在datepicker和timepicker上都使用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插件不支持默認設置,但您可以實施一種解決方法。只要將其添加爲jQuery的對象本身:

(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