Для ввода даты в поле на сайте было бы удобно использовать календарь. Писать свой календарь на JavaScript было бы трудоемко и не разумно. Гораздо проще использовать уже готовое решение. В этой статье я и расскажу как сделать jQuery календарь быстро и с минимумом кода.
Для создания календаря нам понадобится:
- Библиотека jQuery, которую можно скачать к себе на сайт, либо подключить, например, c Google CDN В этой статье я использовал версию 2.2.4.
- Библиотека jQuery UI. Можете скачать полный набор, как предлагается по-умолчанию на странице, либо выбрать лишь нужные компоненты, в частности, нам нужен компонент Datepicker. Еще можно выбрать тему отличную от стандартной. Кроме того, библиотеку так же можно подключить с Google CDN
- Чтобы сделать календарь jQuery русским нам понадобится файл datepicker-ru.js который можно взять на GitHub или можете скачать готовый файл с нашего сайта.
Теперь всё необходимое есть, приведу код создания календаря Datepicker с помощью JQuery UI
<html> <title>Календарь</title> <link rel="stylesheet" href="jquery-ui.min.css"> <script type="text/javascript" src="jquery-2.2.4.min.js"></script> <script type="text/javascript" src="jquery-ui.min.js"></script> <script type="text/javascript" src="datepicker-ru.js"></script> <script> $(function() { $("#datepicker").datepicker(); }); </script> <body> <label>Дата:</label> <input type="text" id="datepicker" size="10"> </body> </html>
Обратите внимание: файл русского языка datepicker-ru.js нужно подключать после jquery-ui.min.js
Исходник примера со всеми необходимыми файлами можете скачать с нашего сайта.
В результате, на экране мы увидим поле для ввода даты и при клике в это поле появляется календарь. Для стандартной темы оформления это выглядит так:
Datepicker обладает различными настройками и имеет несколько методов. Настройку календаря jQuery UI можно сделать 3 способами: либо перед инициализацией, во время или после инициализации.
Например, сделать чтобы месяц и год выбирались из выпадающего списка (указание опций до инициализации Datepicker):
$.datepicker.setDefaults({ changeMonth: true, changeYear: true }); $("#datepicker").datepicker();
Следующий пример: отобразить кнопку-картинку рядом с полем для ввода даты по нажатии на которую происходит открытие календаря (указание опций во время инициализации Datepicker)
$("#datepicker").datepicker({ showOn: "both", buttonImageOnly: true, buttonImage: "calendar.gif" });
Показать под календарем доп.панель кнопок (указание опций после инициализации Datepicker).
$("#datepicker").datepicker(); $("#datepicker").datepicker("option", "showButtonPanel", true);
Посмотреть все опции и методы, которые есть у виджета Datepicker можно на сайте библиотеки jQuery UI.
Комментарии к статье:
Добавить комментарий: