jQuery datepicker函数覆盖 [英] jQuery datepicker function override

查看:97
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆