Мне не понравился ни один из предложенных средств выбора времени, поэтому я создал свой собственный, вдохновленный Perifer и спецификацией HTML5:
http://github.com/gregersrygg/jquery.timeInput
Вы можете использовать новые атрибуты html5 для ввода времени (шаг, минимум, максимум) или использовать объект параметров:
<input type="time" name="myTime" class="time-mm-hh" min="9:00" max="18:00" step="1800" />
<input type="time" name="myTime2" class="time-mm-hh" />
<script type="text/javascript">
$("input[name='myTime']").timeInput();
$("input[name='myTime2']").timeInput({min: "6:00", max: "15:00", step: 900});
</script>
Проверяет ввод следующим образом:
- Вставьте ":", если он отсутствует
- Не актуальное время? Заменить пустым
- Неверное время согласно шагу? Округлить вверх / вниз до ближайшего шага
Спецификация HTML5 не допускает синтаксиса am / pm или локализованного времени, поэтому допускает только формат hh: mm. Секунды разрешены согласно спецификации, но я еще не реализовал это.
Это очень "альфа", поэтому могут быть некоторые ошибки. Не стесняйтесь присылать мне патчи / запросы на включение. Протестировано вручную в IE 6 и 8, FF, Chrome и Opera (последняя стабильная версия для Linux для последних).