如何在初始加载后覆盖 datetimepicker enabledHours?

How to overwrite datetimepicker enabledHours after initial load?

在页面加载时,我将 datetimepicker 初始化为:

$('#txtdate').datetimepicker({
    inline: true,
    sideBySide: true,
    maxDate: someDate,
    minDate: curentDate,
    enabledHours: HoursArray(CurrentDayOpenTime, CurrentDayCloseTime)
});

但是在选择新日期时我想 update/overwrite enabledHours(因为在新日期 enabledHours 是不同的)使用下面的函数。

$(document).on('dp.change', manipulateTime);

//function////

function manipulateTime(td){
    if (!td.date.isSame(td.oldDate, "day")) {
        $('#txtdate').datetimepicker({
            inline: true,
            sideBySide: true,
            maxDate: SomeCloseDate,
            minDate: SelectedDayOpenTime,
            enabledHours: HoursArray(SelectedDayOpenTime, SelectedDayCloseTime)
        });
    }
}

我无法覆盖之前的enabledHours。它始终显示在页面加载时生成的已启用小时数。

有人可以帮我解决这个问题吗?

你可以试试下面的代码来改变enabledHours:

$(document).on('dp.change', manipulateTime);

function manipulateTime(td){
   //Your code.... 
   $('#txtdate').data('DateTimePicker').enabledHours([21,22,23]); //change the array of enabled hours here
}