Ion.Calendar 2.0.2
jQuery-календарь и датапикер,
основанный на библиотеке работы со временем - Moment.js

Обратная связь и поддержка

В случае обнаружения багов или недочетов в плагинах, воспользуйтесь разделом Issues в репозитории на GitHub

Click here to lend your support to: Nokia Lumia for plugins testing and make a donation at pledgie.com !

Реклама

Описание

  • Ion.Calendar основан на мощной библиотеке для работы со временем - Moment.js.
  • Поддерживает все языки, форматы дат и возможности парсинга, что и Moment.js.
  • Календарь и датапикер в одном.
  • Может быть полностью видоизменен через CSS.
  • Календарь резиновый, может быть растянут под любой контейнер.
  • Поддерживает несколько независимо работающих календарей на одной странице.
  • Кроссбраузерная поддержка: Google Chrome, Mozilla Firefox, Opera, Safari, IE(8.0+)
  • Плагин поддерживает устройства с touch-экраном (iPhone, iPad, etc.).
  • Репозиторий на GitHub.
  • Плагин свободно распространяется на условиях лицензии MIT.

Демо

Календарь на русском. Первый день недели - понедельник. Возвращает дату в принятом в России формате даты: День.Месяц.Год. Доступный дипазон лет: текущий год минус 80 лет.

$("#calendar-1").ionCalendar({
    lang: "ru",
    sundayFirst: false,
    years: "80",
    format: "DD.MM.YYYY",
    onClick: function(date){
        $("#result-1").html("onClick: " + date);
    }
});
...

Календарь на английском. Первый день недели - воскресенье. Возвращает дату в формате ISO8601. Доступный диапазон лет: 1915-1995

$("#calendar-2").ionCalendar({
    lang: "en",
    years: "1915-1995",
    onClick: function(date){
        $("#result-2").html("onClick: " + date);
    }
});
...

Календарь на японском. Первый день недели - воскресенье. Возвращает дату в локализованом формате. Доступный диапазон лет: текущий год минус 20 лет.

$("#calendar-3").ionCalendar({
    lang: "ja",
    years: "20",
    format: "LLLL",
    onClick: function(date){
        $("#result-3").html("onClick: " + date);
    }
});
...

Календарь на русском. Первый день недели - понедельник. Стрелочки спрятаны. Выполняет функцию при инициализации. Возвращает дату в локализованном формате. Доступный дипазон лет: текущий год минус 30 лет.

$("#calendar-4").ionCalendar({
    lang: "ru",
    sundayFirst: false,
    years: "30",
    startDate: "07.08.2009",
    format: "DD.MM.YYYY",
    hideArrows: true,
    onClick: function(date){
        $("#result-4").html("onClick: " + date);
    },
    onReady: function(date){
        $("#result-4").html("Каледарь готов");
    }
});
...

Датапикер. Все поля имеют разные языки и настройки, установленные с помощью атрибутов data-*

lang="ru"

years="50"

format="DD.MM.YYYY"

sundayfirst="true"

lang="en"

years="2015-2035"

format="YYYY-MM-DD"

lang="ja"

years="1973-2013"

format="YYYY-MM-DD"

lang="en"

years="10"

format="LL"

$(".date").each(function(){
    $(this).ionDatePicker();
});

Зависимости

Подключение

Подключаем библиотеки:

  • jQuery
  • moment-with-locales.min.js
  • ion.calendar.min.js

CSS:

  • normalize.min.css - желательно, если он у вас еще не подключен
  • ion.calendar.css

Создаем базовый контейнер:

<div class="myCalendar" id="myCalendar-1"></div>

Инициализируем календарь:

$("#myCalendar-1").ionCalendar();

Или инициализируем календарь с параметрами:

$("#myCalendar-1").ionCalendar({
    lang: "ru",                     // язык календаря
    sundayFirst: false,             // первый день недели
    years: "80",                    // диапазон лет
    format: "DD.MM.YYYY",           // формат возвращаемой даты
    onClick: function(date){        // клик по дням вернет сюда дату
        console.log(date);
    }
});

Создание датапикера

Создаем базовое поле ввода:

<input class="myInput" id="myDatePicker-1" data-lang="ru" data-years="1995-2013" data-sundayfirst="false" />

Инициализируем датапикер:

$("#myDatePicker-1").ionDatePicker();

Параметры

Атрибут По умолчанию Описание
lang "en" Необязательный параметр, позволяет выбрать язык календаря. Каждый дополнительный язык требует своего файла локализации
sundayFirst true Необязательный параметр, позволяет выбрать первый день недели в календаре. (Например в США неделя начинается с воскресенья, в России с понедельника). Если true - то первый день будет воскресенье, если false - то понедельник.
years "80" Необязательный параметр, определяет дипазон лет, которым будет оперировать календарь. Может принимать 1 или 2 значения через дефис. Значения должны быть целыми числами. Одиночное значение, например "80", означает, что дипазон календаря: 80 лет назад - сегодняшний год. Двойное значение же, например "1900-2000" задает точный диапазон от 1900-го до 2000-го года.
format Необязательный параметр, задает формат возвращаемой даты. Основные значения: пустой - вернет дату в формате ISO8601; "moment" - вернет объект moment(); "строка сформированная по правилам Moment.js" - вернет дату в выбранном формате. Например строка "DD.MM.YYYY" - вернет "15.07.2013".
clickable true Необязательный параметр, если установить false, то клики по дням больше не будут возвращать дату.
hideArrows false Необязательный параметр, прячет стрелки переключения месяцев.
startDate Необязательный параметр, позволяет отметить на календаре выбранную дату (имеет смысл для датапикера).
onClick Функция возвращает выбранную дату при клике по дням. Возвращаемое значение может быть строкой или объектом moment().
onReady Функция возвращает текущую дату при готовоности календаря. В том же формате что и onClick

Скачать

Поделиться

comments powered by Disqus
Fork me on GitHub