Календарь (datepicker) — различия между версиями

Материал из YourcmcWiki
Перейти к: навигация, поиск
м
м
Строка 45: Строка 45:
 
<script>
 
<script>
 
var st = document.createElement('link');
 
var st = document.createElement('link');
 +
st.rel = 'stylesheet';
 
st.href = '//yourcmc.ru/git/vitalif-js/calendar/raw/master/calendar-material.css';
 
st.href = '//yourcmc.ru/git/vitalif-js/calendar/raw/master/calendar-material.css';
 
document.head.appendChild(st);
 
document.head.appendChild(st);

Версия 21:19, 17 марта 2018

Простой календарик для текстовых полей ввода с поддержкой двух режимов — в первом выбор года и месяца делается с помощью обычных выпадающих списков, во втором — год и месяц выбираются подобно дням, в таблице:

Calendar1.pngCalendar2.pngCalendar3.pngCalendar4.png

(на скриншотах наложены дополнительные стили на кнопку и выпадающие списки)

Чтобы использовать, нужно подключить calendar.js и calendar.css (который, кстати, можно отредактировать по своему вкусу), а потом написать где-то javascript код Calendar.set('input_id', { /* опции */ }) или Calendar.set(input_object, { /* опции */ }).

Если в поле после даты введено время, то при изменении даты кликом из календаря оно не меняется.

Доступные опции (приведены со значениями по умолчанию):

{
    // названия месяцев
    month_names: ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"], 
    // подпись кнопки "закрыть"
    close_label: "Закрыть",
    // названия дней недели
    weekdays: ["Пн","Вт","Ср","Чт","Пт","Сб","Вс"],
    // задаёт порядковый номер воскресенья (0-6). у америкосов здесь был бы 0
    sunday: 6,
    // если true, то для года и месяца используются выпадающие списки, иначе - таблица
    selectboxes: false,
    // если selectboxes == true, то здесь задаётся диапазон выводимых в выпадающий список годов относительно текущего
    years: {min: -70, max: 10},
    // формат даты; можно выбрать либо d.m.Y, либо Y-m-d, другие форматы не поддерживаются
    format: "d.m.Y",
    // начальный вид календаря - days (дни), months (месяцы) или years (годы)
    start: 'days',
    // колбэк, если задан - вместо прямой установки значения в поле вызывается он
    callback: null,
}