2015-03-09 18 views
6

Come limitareCome limitare Min-Max Tempo in datetimepicker bootstrap

sto cercando di limitare il tempo che un utente può selezionare da questo plugin: https://github.com/Eonasdan/bootstrap-datetimepicker

Ho cercato intorno a questo sito e Google per domande simili, ma gli utenti in genere chiedono che la convalida funzioni tra un periodo noto e un altro periodo noto. Ad esempio 9:00 - 21:00 2015/03/09 9:00 - 2015/03/10 21:00. Se un utente immette il 2015/03/09 alle 23:00, la convalida lo supererà perché l'orario è compreso tra questi due periodi min/max.

Ho bisogno che funzioni come funziona un sistema di prenotazione, in modo che ogni giorno sia limitato tra quelle ore. ad es. se un utente seleziona 2015/03/09 23:00 o 2015/03/10 alle 5:00, la convalida non verrà superata, passerà solo in qualsiasi giorno tra le 9:00 & 21:00.

$('.datetimepicker').datetimepicker({ 
     stepping: 30, 
     minDate: moment({hour: 9, minute: 30}), 
     format: 'YYYY-MM-DD HH:mm' 
    }); 

Questo avvia la data min per oggi alle 09:30, ma se dovessi scegliere qualsiasi giorno dopo oggi sarei stato in grado di selezionare, per esempio 04:00 - qualsiasi cosa sotto 09:30

risposta

2

Utilizzare il enabledHours proprietà:

$('.datetimepicker').datetimepicker({ 
    stepping: 30, 
    enabledHours: [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], 
    format: 'YYYY-MM-DD HH:mm' 
}); 

in questo modo si dovrebbe consentire eventuali ore tra le 9:00 e le 20:30, ma non permetterà nulla da 21:00. Altro su http://eonasdan.github.io/bootstrap-datetimepicker/Functions/#endisabledhours.

+1

Lo stepping non funziona nel mio caso. –