繁体   English   中英

jQuery UI日期选择器inst.inline:false

[英]Jquery ui date picker inst.inline:false

我正在使用jQuery ui Datepicker显示事件。

$( "#datepicker2" ).datepicker({
    dateFormat: 'dd MM',
    showWeek: true,
    showOtherMonths: true,
    selectOtherMonths: true,
    defaultDate: "+1M",
    onSelect: function (param, param2) {
        param2.inline = false;
        var datecurrent=$("#datepicker2").datepicker('getDate');
    },
    beforeShowDay: function(date) {
            for (i = 0; i < holiDays.length; i++) {
                if (date.getFullYear() == holiDays[i][0]
                        && date.getMonth() == holiDays[i][1] - 1
                        && date.getDate() == holiDays[i][2]) {
                        return [true, holiDays[i][4], holiDays[i][3]];
                    }
                }
            return [true, ''];
        }
    });

为了防止在选择时重新绘制日历,我指定了param2.inline = false。但是问题是当我单击2015年1月13日时,得到的结果是2014年1月13日。

您需要在dateFormat包括年份。 获取日期时,日期选择器将解析输入字段的内容。 由于那里没有年份,因此默认为当前年份。

$("#datepicker2").datepicker({
    dateFormat: 'dd MM yy',
    showWeek: true,
    showOtherMonths: true,
    selectOtherMonths: true,
    defaultDate: "+1M",
    onSelect: function (param, param2) {
        var datecurrent = $("#datepicker2").datepicker('getDate');
    },
    beforeShowDay: function (date) {
        for (i = 0; i < holiDays.length; i++) {
            if (date.getFullYear() == holiDays[i][0] && date.getMonth() == holiDays[i][1] - 1 && date.getDate() == holiDays[i][2]) {
                return [true, holiDays[i][4], holiDays[i][3]];
            }
        }
        return [true, ''];
    }
});

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM