jQuery timepicker 和 jQuery datepair:设置最大持续时间(增量)

jQuery timepicker and jQuery datepair: setting a maximum duration (delta)

我正在使用 jQuery timepicker 和 jQuery datepair 来设置约会创建页面。我想将约会的总持续时间限制为 3 小时或其他时间。我无法弄清楚如何执行此操作。

html:

<div id="dateTimePicker">
    <input type="text" class="date start"/>
    <input type="text" class="time start"/> to
    <input type="text" class="time end" id="timeEnd"/>
    <input type="text" class="date end"/>
</div>

js:

$('#dateTimePicker .time').timepicker({
        'minTime': '6:00am',
        'maxTime': '11:00pm',
        'step': 15,
        'showDuration': true,
        'timeFormat': 'g:ia'
    }).on('changeTime', function (e) {
        var milliseconds = datepair.getTimeDiff();
        // is the time more than 3 hours?
        if (milliseconds > 10800000) {
            console.log('time too big')
            $('#dateTimePicker').timepicker('setTime', '10:15am');
        }
    });

我以为我可以只检查 changeTime 事件,但是在它发生后单击一次就会触发。例如。如果我将时间更改为 4 小时的增量,则在我再次将其更改为超出我正在寻找的范围的时间之前,事件不会被调用。

即使在那之后我仍然不确定如何设置结束时间。在 jQuery timepicker 的文档中它说您可以使用 'setTime' 但是不清楚在使用日期对时该怎么做。

我只想强制执行时间间隔的最长持续时间,但我不确定如何实施

jsfiddle: https://jsfiddle.net/vmjo1aw6/2/

我认为 blur 是您要查找的事件,即 change

.on('changeTime', function (e)

.on('blur', function (e)