0

我想参考一个我在网上用 jqueryUI datepicker 很难找到的解决方案。

使用这些选项创建日期选择器时(假设 fromDate 和 toDate 是 2 个日期对象):

{
    changeMonth: true,
    changeYear: true,
    minDate: fromDate,
    maxDate: toDate,
    defaultDate: toDate,
    dateFormat: 'MM yy'
}

每当您打开 DP 时,您将获得默认日期,而不是之前选择的日期。

我尝试使用 OnClose 事件设置日期,该事件将正确设置内部日期和输入日期,但不设置select option值。这里的一个例子:http: //jsfiddle.net/techunter/Y8MZ4/

在 1.9 中使用,但也使用 jQuery 1.10 进行了测试

4

1 回答 1

1

完全归功于:http: //jquerybyexample.blogspot.com/2012/06/show-only-month-and-year-in-jquery-ui.html

这里没有魔法,您需要手动更新选择选项。

beforeShow: function () {
        if ((selDate = $(this).val()).length > 0)
        {
            iYear = selDate.substring(selDate.length - 4, selDate.length);
            iMonth = jQuery.inArray(selDate.substring(0, selDate.length - 5),
            $(this).datepicker('option', 'monthNames'));
            $(this).datepicker('option', 'defaultDate', new Date(iYear, iMonth, 1));
            $(this).datepicker('setDate', new Date(iYear, iMonth, 1));
        }
    }

beforeShow顺便说一句,我更喜欢在和期间隐藏和显示日历onClose

于 2013-10-28T16:02:00.203 回答