如何在日期选择器实现中添加事件日期?

时间:2018-12-04 19:38:56

标签: javascript datepicker materialize

我正在尝试使用Materialize建议的方法将事件的日期添加到日期选择器的日历中,但不适用于我,或者我做错了事。

Materialize Date Picker

var elems = document.querySelector('.datepicker')
var instances = M.Datepicker.init(elems, {
      events: [new Date('2018,12,12').toLocaleDateString()]
    }

编辑-

我的问题的解决方案-

下面是我使用此日期格式('2018,12,12')的最终工作结果的代码,因为对于我来说,更容易理解 12 等于到 12月,而不是此日期格式(2018,11,25)的11。

我还添加了其他可以正常工作的参数。

感谢您的帮助,感谢Germa V。

document.addEventListener('DOMContentLoaded', function() {

    let eventsDates = [
        new Date('2018,12,1').toDateString(),
        new Date('2018,12,2').toDateString()
    ];
    let disableListDate = [
        new Date('2018,12,3').toDateString(),
        new Date('2018,12,4').toDateString()
    ];

    let optionsDate = {
        defaultDate: defaultDate,
        setDefaultDate: true,
        firstDay: 1,
        events: eventsDates,
        disableWeekends: false,
        autoClose: false,
        showDaysInNextAndPreviousMonths: false,
        showClearBtn: true,
        i18n:{
            months: 
            ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agost', 'Sept', 'Oct', 'Noviem..', 'Diciemb..'],
            monthsShort: ['Ene', 'Feb', 'Mar', 'Abril', 'Mayo', 'Jun', 'Jul', 'Agos', 'Sep', 'Oct', 'Nov', 'Dic'],
            weekdays: ['Dom','Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab']
        },
        format: 'dd-mmm-yyyy',
        onSelect() {
            if (optionsDate.events.includes(this.date.toDateString())) {
                alert('Event Date');
            }
        },

        disableDayFn(date) {
            if(disableListDate.includes(date.toDateString()))
                return true
            else
                return false
        },

        parse(){

        }
    }

    let elems = document.querySelector('.datepicker');
    let instances = M.Datepicker.init(elems, optionsDate);
});

1 个答案:

答案 0 :(得分:2)

这不是您在Date()中设置日期的方式,如果您想知道如何在Datepicker函数中设置日期,则可以查看此答案-> How to set date in Materialize Datepicker

var optionsDate = {
    events: [new Date(2018, 11, 20).toDateString(),
    new Date(2018, 11, 21).toDateString()],
    onSelect() {
        if (optionsDate.events.includes(this.date.toDateString())) {
            console.log('Event Date');
        }
    }
}
var elemsDate = document.querySelector(".datepicker");
var instanceDate = M.Datepicker.init(elemsDate, optionsDate);