jQuery 日期选择器函数覆盖 [英] jQuery datepicker function override
本文介绍了jQuery 日期选择器函数覆盖的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用 jQuery 日期选择器创建了一些自定义日期选择器,它运行良好.在某些情况下,当我需要 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 日期选择器函数覆盖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文