Framework7范围日历上次日期滚动问题

时间:2018-05-31 05:12:36

标签: html-framework-7

当范围日历在当前月份的最后一天时,最小日期参数设置为昨天,因为今天需要选择。滚动后&移动到下个月,然后日历不会回到上一个/当前月份。 像今天是31-05-2018,它可用于日历初始化选择。但是当移动到六月份时,日历无法滚动回到五月。以下是我的代码

calendarRange = botapp.calendar.create({
        inputEl: "#hdnDepDatesBus",
        containerEl: '#divDepDatesBus',
        dateFormat: 'yyyy-mm-dd',
        minDate: yd, //yesterday date as today date need in selection
        rangePicker: true,
        direction: 'vertical',
        value: [arrdDateBus],
        renderToolbar: function () {
            return '<div class="toolbar calendar-custom-toolbar no-shadow divCalanderMonth"><div class="toolbar-inner"><div class="left"></div><div class="center"></div><div class="right"></div></div></div>';
        },
        on: {
            init: function (c) {
                jq('.calendar-custom-toolbar .center').text(monthNames[c.currentMonth] + ' ' + c.currentYear);
            },
            monthYearChangeStart: function (c) {
                jq('.calendar-custom-toolbar .center').text(monthNames[c.currentMonth] + ' ' + c.currentYear);
            },
            change: function (c) {
                jq('.calendar-custom-toolbar .center').text(monthNames[c.value[0].getMonth()] + ' ' + c.value[0].getFullYear());
                if (c.value.length == 1) {
                    if (c.value[0].getMonth() > c.currentMonth) {
                        calendarRange.nextMonth();
                    } else if (c.value[0].getMonth() < c.currentMonth) {
                        calendarRange.prevMonth();
                    }
                }
            }
        }
    });

1 个答案:

答案 0 :(得分:0)

经过大量搜索我找到的解决方案是什么,你想选择哪个日期作为最小日期选择该日期前一天。然后使用禁用日期选项禁用该日期。这将解决回滚问题,并且不会启用额外的过去日期。 这是解决方案和工作。今天奇怪的最小日期在frame7中被禁用以供选择。需要在最后一天之前提前1天才能选择今天。

 calendarRangeTrain = botapp.calendar.create({
        inputEl: "#hdnDepDatesTrain",
        containerEl: '#divDepDatesTrain',
        dateFormat: 'yyyy-mm-dd',
        rangePicker: true,
        minDate: yd, // here yd is 2 days before today
        direction: 'vertical',
        value: [arrdDateTrain],
        disabled: [new Date(yd.getFullYear(), yd.getMonth(), yd.getDate() + 1)],
        renderToolbar: function () {
            return '<div class="toolbar calendar-custom-toolbar no-shadow divCalanderMonth"><div class="toolbar-inner"><div class="left"></div><div class="center"></div><div class="right"></div></div></div>';
        },
        on: {
            init: function (c) {
                jq('.calendar-custom-toolbar .center').text(monthNames[c.currentMonth] + ' ' + c.currentYear);
            },
            monthYearChangeStart: function (c) {
                jq('.calendar-custom-toolbar .center').text(monthNames[c.currentMonth] + ' ' + c.currentYear);
            },
            change: function (c) {
                jq('.calendar-custom-toolbar .center').text(monthNames[c.value[0].getMonth()] + ' ' + c.value[0].getFullYear());
                if (c.value.length == 1) {
                    if (c.value[0].getMonth() > c.currentMonth) {
                        calendarRange.nextMonth();
                    } else if (c.value[0].getMonth() < c.currentMonth) {
                        calendarRange.prevMonth();
                    }
                }
            }
        }
    });