回调后日期选择器丢失

Datepicker is lost after a callback

我有这个代码来生成我的日期选择器:

<script>
        $(function() {
            $(".datepicker").datepicker({
                showOn : 'button',
                buttonImage : '../resources/images/calendar.png',
                buttonImageOnly : true,
                buttonText : 'Pick a date',
                onSelect : function() {
                }
            });
        });
    </script>

每次回发时,我都会丢失所有日历。

我正在使用 JAVA 而不是 .net。我该如何解决?

谢谢。

尝试创建一个包含如下扩展的对象字面量,您可以在 Proper way to add a callback to jQuery DatePicker

上找到更多
(function($){
    var datepickerExtensions = {
        _oldAdjustDate: $.datepicker._adjustDate,
        _adjustDate: function(id, offset, period) { 
            var target = $(id);
            var inst = this._getInst(target[0]);
            var afterAdjustDate = this._get(inst, 'afterAdjustDate');
            this._oldAdjustDate(id, offset, period);
            if(afterAdjustDate && typeof afterAdjustDate === 'function'){
                afterAdjustDate(id, offset, period);
            }
        }
    }
    $.extend($.datepicker, datepickerExtensions);
})(jQuery);

我终于决定使用这个解决方法;我这样更改了我的代码:

<f:ajax execute="@form" render="@all">

而不是:

<f:ajax execute="@form" render="@form">

这样,所有页面都加载完毕。