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

时间:2017-06-10 15:04:22

标签: javascript jquery datetime timepicker bootstrap-datepicker

我正在使用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',但是当使用datepair时不清楚该做什么。

我只想强制执行时间间隔的最长持续时间,我不知道如何

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

1 个答案:

答案 0 :(得分:2)

我认为blur是您正在寻找的事件,即更改

.on('changeTime', function (e)

.on('blur', function (e)