jQuery datepicker function override

徘徊边缘 提交于 2019-12-30 07:27:27

问题


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.

here is my code sample:

$('#start_date.datepicker, #end_date.datepicker').attachCustomDatepicker();

$('#start_date.datepicker').datepicker({ 
      onSelect: function(dateValue, inst) { 
             $('#end_date.datepicker').datepicker("option", "minDate", dateValue); 
      } 
});

回答1:


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);
        }
    }
}


来源:https://stackoverflow.com/questions/12725882/jquery-datepicker-function-override

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!