jQuery Datepicker “After Update” Event or equivalent

前端 未结 4 1523
我在风中等你
我在风中等你 2020-12-01 19:24

I am using a standard jQuery Datepicker and I need to modify the text in each TD based on some daily status information. I realize I can wire up the \"beforeShowDay\" event

4条回答
  •  执笔经年
    2020-12-01 19:51

    Looks like afterShow() and onAfterChangeMonthYear() are already raised an enhancements, but there doesn't seem to be any work on them yet.

    You could (for now) implement it yourself…

    Download the latest uncompressed source v1.8.13 - see http://blog.jqueryui.com/2011/05/jquery-ui-1-8-13/ and search for _updateDatepicker: function(inst) { then add a new function call. Here is how I laid out the new function:

    _updateDatepicker: function(inst) {
        // existing jQueryUI code cut for brevity
        this._afterShow(inst);
    },
    _afterShow: function(inst) {
        var afterShow = this._get(inst, 'afterShow');
        if (afterShow)
            afterShow.apply((inst.input ? inst.input[0] : null),
                    [(inst.input ? inst.input.val() : ''), inst, inst.dpDiv.find('td:has(a)')]);
    },
    

    I just coded the function to have the same signature as beforeShow() but then added a 3rd parameter - an array of elements.

    You can then add your own callback to the datepicker() in the usual way.

    
    
    

    Note: I've not done a great deal of testing, but it seems to be called after the datepicker is rendered. It may need some more work to fit in with your requirements if it's not exactly what you are after. Hope it helps nonetheless :-)

提交回复
热议问题