Выбор времени в UI Datepicker

Выбор времени в UI Datepicker

Плагин Timepicker легко добавляет возможность выбора времени в UI Datepicker.
Сайт разработчика, GitHub.

Подключение CSS

<link rel="stylesheet" href="/jqueryui/1.12.1/jquery-ui.min.css">
<link rel="stylesheet" href="/jQuery-Timepicker-Addon/dist/jquery-ui-timepicker-addon.min.css">
HTML

Подключение JS

<script src="/jquery/2.1.1/jquery.min.js"></script>
<script src="/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="/jQuery-Timepicker-Addon/dist/jquery-ui-timepicker-addon.min.js"></script>
HTML

Настройка локали

/* Локализация datepicker */
$.datepicker.regional['ru'] = {
	closeText: 'Закрыть',
	prevText: 'Предыдущий',
	nextText: 'Следующий',
	currentText: 'Сегодня',
	monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
	monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн','Июл','Авг','Сен','Окт','Ноя','Дек'],
	dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
	dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
	dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
	weekHeader: 'Не',
	dateFormat: 'dd.mm.yy',
	firstDay: 1,
	isRTL: false,
	showMonthAfterYear: false,
	yearSuffix: ''
};
$.datepicker.setDefaults($.datepicker.regional['ru']);

/* Локализация timepicker */
$.timepicker.regional['ru'] = {
	timeOnlyTitle: 'Выберите время',
	timeText: 'Время',
	hourText: 'Часы',
	minuteText: 'Минуты',
	secondText: 'Секунды',
	millisecText: 'Миллисекунды',
	timezoneText: 'Часовой пояс',
	currentText: 'Сейчас',
	closeText: 'Закрыть',
	timeFormat: 'HH:mm',
	amNames: ['AM', 'A'],
	pmNames: ['PM', 'P'],
	isRTL: false
};
$.timepicker.setDefaults($.timepicker.regional['ru']);
JS

Для удобной работы рекомендуется объединить файлы jquery-ui.min.jsjquery-ui-timepicker-addon.min.js и настройки локали в один файл jquery-ui.min.js.

<input type="text" id="datepicker" placeholder="Выберите дату и время">

<script>
$(function(){
	$("#datepicker").datetimepicker();
});
</script>
HTML

Результат

Если не нравятся ползунки

У плагина есть возможность сделать выбор времени с помощью input number.

<input type="text" id="datepicker" placeholder="Выберите дату и время">

<script>
var myControl = {
	create: function(tp_inst, obj, unit, val, min, max, step){
		$('<input class="ui-timepicker-input" value="'+val+'" style="width:50%">')
			.appendTo(obj)
			.spinner({
				min: min,
				max: max,
				step: step,
				change: function(e,ui){
					if(e.originalEvent !== undefined)
						tp_inst._onTimeChange();
					tp_inst._onSelectHandler();
				},
				spin: function(e,ui){
					tp_inst.control.value(tp_inst, obj, unit, ui.value);
					tp_inst._onTimeChange();
					tp_inst._onSelectHandler();
				}
			});
		return obj;
	},
	options: function(tp_inst, obj, unit, opts, val){
		if(typeof(opts) == 'string' && val !== undefined)
			return obj.find('.ui-timepicker-input').spinner(opts, val);
		return obj.find('.ui-timepicker-input').spinner(opts);
	},
	value: function(tp_inst, obj, unit, val){
		if(val !== undefined)
			return obj.find('.ui-timepicker-input').spinner('value', val);
		return obj.find('.ui-timepicker-input').spinner('value');
	}
};

$(function(){
	$("#datepicker").datetimepicker({controlType: myControl});
});
</script>
HTML

Только выбор времени

Плагин можно вывести без календаря, меняется только вызов плагина, но скрипт jquery-ui.min.js всё же нужен.

$(function(){
	$("#datepicker").timepicker();
});
JS
24.09.2019, обновлено 17.09.2020
20433

Комментарии

, чтобы добавить комментарий.

Другие публикации

Вывод даты с русскими месяцами
PHP-функция для вывода даты в привычном формате из метки unix timestamp.
6279
+5
jQuery UI Slider
jQuery UI Slider – гибкий плагин, который позволяет создать элементы интерфейса в виде ползунков в различных вариантах.
18630
+4
Работа с массивами PHP – создание, наполнение, удаление
Основные примеры работы с массивами PHP. Создание, наполнение, извлечение удаление значений.
99474
+13
Contenteditable – текстовый редактор
Если добавить атрибут contenteditable к элементу, его содержимое становится доступно для редактирования пользователю, а...
43783
+34
Модальные окна на Fancybox 3
Fancybox 3 плагин галерей и модельных окон, в отличии от второй версии существенно изменилась скорость работы, дизайн и немного API, далее подробнее о вызове модальных окон.
65316
+2
Выполнение заданий по Cron
Cron — UNIX-программа, которая используются для периодического выполнения заданий в определённое время. Расписание и действия описываются инструкциями в файлах crontab, их можно посмотреть через SSH,...
47088
+2