【问题标题】:Jquery - DateTimePicker set max datetimeJquery - DateTimePicker 设置最大日期时间
【发布时间】:2016-09-06 11:57:58
【问题描述】:

我有 2 个日期时间选择器。 1 是From,另一个是To。如何将我的To datetimepicker 限制在From 之后的 30 分钟? 我知道如何限制最大日期,但我不知道如何限制最大日期和时间。

例如:

如果From2016/05/11 00:00,那么To 的最大值将是2016/05/11 00:30 但是,如果From is2016/05/11 23:55then max ofTowould be2016/05/12 00:25`

我当前的代码:

$("#From").datetimepicker({
    onClose: function (selectedDate, instance) {
       if (selectedDate != '') {
           $("#To").datetimepicker("option", "minDate", selectedDate);
           var date = $.datepicker.parseDateTime("dd/mm/yy", "hh:mm", selectedDate);
           date.setMinutes(date.getMinutes() + 30);
           $("#To").datetimepicker("option", "maxTime", selectedDate);
        }
    }
});
$("#To").datetimepicker();

此代码不起作用,我不知所措。我应该分别设置maxDatemaxTime 吗?

【问题讨论】:

    标签: jquery datepicker datetimepicker


    【解决方案1】:

    您可以使用e.date,这是一个Moment 实例,然后您可以轻松地执行e.date.add(30, 'minutes'),如下所示:

    var fromDP = $("#From").datetimepicker();
    var toDP = $("#To").datetimepicker();
    
    fromDP.on("dp.change", function(e){
        var newDate = e.date.add(30, 'minutes');
        toDP.data("DateTimePicker").maxDate(newDate);
    });
    

    工作示例HERE

    ..如果您也想将其设置为默认日期,您可以这样做

    toDP.data("DateTimePicker").date(newDate).maxDate(newDate);
    

    【讨论】:

    • 只有在我使用 Datetimepicker for Bootstrap 3 时才有效吗?因为使用引导程序,如果它是 10:59。我再增加 1 分钟,它会自动为 11:00。但默认情况下并非如此Datetimepicker
    • @Mark,你说的 default Datetimepicker 是什么意思?你用的是哪个插件?
    猜你喜欢
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    相关资源
    最近更新 更多