Как ограничить минимальное и максимальное время загрузки при загрузке?

Я использую средство выбора времени загрузки с помощью bootstrap-timepicker.js, и я хочу ограничить минимальное и максимальное время этого средства выбора времени. Может кто-нибудь, пожалуйста, скажите мне, как я могу этого добиться. Я использовал следующие методы, но ничего не поможет мне:

 $('input[data-role="time"]').timepicker({
    showMeridian: true,
    minTime: {
    hour: 10,
    minute: 15
    },
    minuteStep: 1,
    showInputs: true,
    defaultTime: defaulttime
    }) 

А также

$('input[data-role="time"]').timepicker({
        showMeridian: true,
        minTime: '10:15',
        minuteStep: 1,
        showInputs: true,
        defaultTime: defaulttime
        })

person Floki    schedule 18.04.2015    source источник


Ответы (2)


  1. использовать событие changeTime,
  2. проверить текущее время,
  3. если время меньше установить минимум

http://jsfiddle.net/j3kf2p2e/

$('#timepicker').timepicker({
        showMeridian: true,        
        minuteStep: 1,
        showInputs: true,        
}).on('changeTime.timepicker', function(e) {    
    var h= e.time.hours;
    var m= e.time.minutes;
    var mer= e.time.meridian;
    //convert hours into minutes
    m+=h*60;
    //10:15 = 10h*60m + 15m = 615 min
    if(mer=='AM' && m<615)
        $('#timepicker').timepicker('setTime', '10:15 AM');
  });
person dm4web    schedule 19.04.2015
comment
Это решение создает исключение рекурсии, поскольку вызов timepicker('setTime') вызовет событие changeTime.timepicker. Вы не должны вызывать setTime внутри обратного вызова changeTime. - person foob.ar; 24.04.2018
comment
Вы можете вызывать 'setTime' внутри 'changeTime', если на нем есть условие. - person David Chu; 27.04.2018

Вы можете использовать следующее: например, если mindate в 8.00 и maxdate в 23:00

    minDate: moment({h:8}),
    maxDate: moment({h:23}),

то есть...

$('#time').bootstrapMaterialDatePicker({
    format: 'HH:mm',
    minDate: moment({h:8}),
    maxDate: moment({h:23}),
    clearButton: true,
    date: false
});
person Kelvline    schedule 23.10.2017