xandeadx.ru Блог музицирующего веб-девелопера

Drupal → Выбор даты с помощью jQuery UI Datepicker

Опубликовано в

Пример формы для ввода даты с использованием виджета jQuery UI Datepicker:

mymodule.module:

/**
 * Form builder.
 */
function mymodule_myform($form) {
  $form['date'] = array(
    '#type' => 'textfield',
    '#title' => t('Date'),
    '#size' => 9,
    '#attributes' => array(
      'class' => array('datepicker'),  
    ),
  );
 
  $form['#attached']['library'][] = array('system', 'ui.datepicker');
  $form['#attached']['js'][] = drupal_get_path('module', 'mymodule') . '/mymodule.js';
 
  return $form;
}

mymodule.js:

(function ($) {
  Drupal.behaviors.mymodule = {
    attach: function (context, settings) {
      $('.datepicker', context).datepicker({
        dateFormat: 'dd.mm.yy'
      });
    }
  };
})(jQuery);

Результат:

jQuery UI Datepicker

Написанное актуально для Drupal 7
Похожие записи

Комментарии RSS

Помниться у меня были пробемы с русским языком - приходилось JS с локализацией подгружать дополнительно. У тебя нормально?

была такая бага, сейчас уже починили.

Для выполнения данной задачи можно использовать date_popup

Вместо даты подставляет "мм/дд/гг"

удалите перевод строки mm/dd/yy

удалите перевод строки mm/dd/yy

подскажите пожалуйста где это надо сделать

admin/config/regional/translate/translate

admin/config/regional/translate/translate

Спасибо, теперь все работает

А нет базовой фишки для выбора времени? Необходимо для формы обратной связи, типа время звонка

Есть ли возможность использовать Datepicker для выбора нескольких дат (через ctrl, например) или просто в одно поле добавлять через запятую?
Именно так, выборочно. Не диапазоном

Подскажите пожалуйста как добавить библиотеку ui.datepicker, тоесть откуда ее брать и куда закачивать. Спасибо!

библиотека в ядре

так она откуда-то должна туда попасть (в библиотеки drupal)! Как ее корректно прикрутить? Расскажите поподробнее.

она с самого начала "в библиотеки drupal"

Есть ли возможность использовать Datepicker для выбора нескольких дат (через ctrl, например) или просто в одно поле добавлять через запятую?

Из коробки - нет. Но есть библиотеки, например: http://multidatespickr.sourceforge.net/

так она откуда-то должна туда попасть (в библиотеки drupal)! Как ее корректно прикрутить?

Она уже там. Подключается она вот этим кодом из примера:

$form['#attached']['library'][] = array('system', 'ui.datepicker');

А как изменить тему jQuery UI с дефолтной на свою, которую выбрал вот здесь: http://jqueryui.com/themeroller/

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании