我使用jQuery datepicker创建了一些自定义日期选择器,它完美无缺。在某些情况下,我需要onSelect事件的某些功能,并希望覆盖它。但我不需要从初始datepicker更改任何其他设置。
这是我的代码示例:
$('#start_date.datepicker, #end_date.datepicker').attachCustomDatepicker();
$('#start_date.datepicker').datepicker({
onSelect: function(dateValue, inst) {
$('#end_date.datepicker').datepicker("option", "minDate", dateValue);
}
});
答案 0 :(得分:1)
由于这是不可能的,我想出了解决方法: 将函数作为param传递给自定义jQuery函数。这是创建datepickers的代码:
var onSelectFunction = function(dateValue){
$('#end_date.datepicker').datepicker("option", "minDate", dateValue);
}
options.onSelect = onSelectFunction;
$('#start_date.datepicker, #end_date.datepicker').attachCustomDatepicker(options);
这是我自定义功能的预览:
$.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);
}
}
}