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

10.02.2013

Пример формы для ввода даты с использованием виджета календаря 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
Похожие записи

Комментарии

dansamara
10.02.2013, 22:03

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

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

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

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

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

admin/config/regional/translate/translate

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

shurupkirov
11.03.2013, 15:13

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

Дмитрий
21.03.2013, 16:22

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

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

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

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

dansamara
25.03.2013, 11:48

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

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

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

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

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

Добавить комментарий