jQuery datepicker函数覆盖 [英] jQuery datepicker function override
本文介绍了jQuery datepicker函数覆盖的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用jQuery datepicker创建了一些自定义datepicker,它的工作完美。当我需要一些onSelect事件的功能时,有一些情况,并且想要覆盖它。但是我不需要从初始的日期戳更改任何其他设置。
I created some custom datepicker using jQuery datepicker, and it works perfect. There is some scenarios when I need some functionality for onSelect event, and want to override it. But I need not to change any other setting from initial datepicker.
这是我的代码示例:
$('#start_date.datepicker, #end_date.datepicker').attachCustomDatepicker();
$('#start_date.datepicker').datepicker({
onSelect: function(dateValue, inst) {
$('#end_date.datepicker').datepicker("option", "minDate", dateValue);
}
});
推荐答案
由于这是不可能的,我认为解决方法:
将传递函数作为自定义jQuery函数的参数。这是创建日期选择器的代码:
As this is not possible, I think out workaround: will pass function as param to custom jQuery function. This is code for creating datepickers:
var onSelectFunction = function(dateValue){
$('#end_date.datepicker').datepicker("option", "minDate", dateValue);
}
options.onSelect = onSelectFunction;
$('#start_date.datepicker, #end_date.datepicker').attachCustomDatepicker(options);
这是我自定义功能的预览:
and this is preview of my custom function:
$.fn.attachCustomDatepicker = function(options) {
var defaultOptions = {
someDefaultCustomParamsHere: ,
onSelect: null
}
var onSelectFunction = function(params){ return false; }
if (typeof options == 'object') {
options = $.extend(defaultOptions, options);
} else {
options = defaultOptions;
}
if(!options.onSelect){
options.onSelect = onSelectFunction;
}
$(this).datepicker( "destroy" );
$(this).datepicker({
onSelect: function (dateValue, inst) {
options.onSelect(dateValue);
}
}
}
这篇关于jQuery datepicker函数覆盖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文