JQuery UI - Установите minTime для таймера, основываясь на другом значении таймера - PullRequest
6 голосов
/ 21 марта 2012

Я пытаюсь установить minTime моего времени окончания timepicker на основе того, что я выбрал в времени начала timepicker.

У меня есть это, основанное на чем-то, что работает для обычного datepicker, но это не работает.

$('#confirmed_time_start').timepicker({
    timeFormat: 'hh:mm',
    stepHour: 1,
    stepMinute: 15,
    hour: 8,
    minute: 0,
    hourMin: 8,
    hourMax: 18,
    onSelect: function(timeStr) {

        var newTime = $(this).timepicker('getDate');
        if (newTime) { // Not null
        newTime.setDate(newTime.getDate());
        }
        $('#confirmed_time_end').timepicker('minTime', newTime)
        }

    });

$('#confirmed_time_end').timepicker({
    timeFormat: 'hh:mm',
    stepHour: 1,
    stepMinute: 15,
    hour: 8,
    minute: 0,
    hourMin: 8,
    hourMax: 18 
    });

Я получаю ошибку:

Объект не поддерживает это свойство или метод

Ответы [ 2 ]

1 голос
/ 28 марта 2014
var time = new Date();
$('#from').timepicker({
    ampm: true,
    hourMin: 9,
    hourMax: 19,
    timeFormat: 'hh:mm TT',
    onClose: function(dateText, inst) {
        var startDateTextBox = $('#to');
        if (startDateTextBox.val() != '') {
            var testStartDate = new Date(startDateTextBox.val());
            var testEndDate = new Date(dateText);
            if (testStartDate > testEndDate)
                startDateTextBox.val(dateText);
        }
        else {
            startDateTextBox.val(dateText);
        }
    },
    onSelect: function(dateText){
        var time = new Date($(this).datetimepicker('getDate').getTime());
        $('#to').timepicker('option', 'minDateTime',time);
    }
});
$('#to').timepicker({
    ampm: true,
    hourMin: 10,
    hourMax: 21,
    timeFormat: 'hh:mm TT',
    onClose: function(dateText, inst) {
        var startDateTextBox = $('#from');
        if (startDateTextBox.val() != '') {
            var testStartDate = new Date(startDateTextBox.val());
            var testEndDate = new Date(dateText);
            if (testStartDate > testEndDate)
                startDateTextBox.val(dateText);
        }
        else {
            startDateTextBox.val(dateText);
        }
    },
    onSelect: function(dateText){
        var time = new Date($(this).datetimepicker('getDate').getTime());
        $('#from').timepicker('option', 'maxDateTime',time);
    }
});
1 голос
/ 10 июля 2013
$('#confirmed_time_start').timepicker({
timeFormat: 'hh:mm',
stepHour: 1,
stepMinute: 15,
hour: 8,
minute: 0,
hourMin: 8,
hourMax: 18,
onSelect: function(timeStr) {

    var newTime = $(this).timepicker('getDate');
    if (newTime) { // Not null
    newTime.setDate(newTime.getDate());
    }
   $('#confirmed_time_end').timepicker('setTime', newTime);
    }

});
...