【问题标题】:How to overwrite datetimepicker enabledHours after initial load?如何在初始加载后覆盖 datetimepicker enabledHours?
【发布时间】:2017-10-18 15:33:46
【问题描述】:

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

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

但在新日期选择时,我想使用以下函数更新/覆盖 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。它始终显示页面加载时生成的启用时间。

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

【问题讨论】:

  • 我很想知道 td.date 和 td.oldDate 在函数操作时间中返回什么
  • @inspired 你能就此提出建议吗?
  • @RohitasBehera - td.date =“2017 年 10 月 24 日星期二 09:30:00 GMT-0400(东部夏令时间)”和 td.oldDate =“2017 年 10 月 18 日星期三 11:30:00 GMT -0400(东部夏令时间)"

标签: javascript jquery datetimepicker bootstrap-datetimepicker eonasdan-datetimepicker


【解决方案1】:

您可以尝试以下代码更改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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多