Пример формы для ввода даты с использованием виджета календаря 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);
Результат:
Написанное актуально для
Drupal 7
Похожие записи
- Модуль Auto-Dialog — показываем контент и формы в jQuery диалоге
- Открыть страницу или форму в диалоговом окне
- Модуль References dialog — расширение возможностей виджета у полей типа entity reference
- Выбор диапазона значений в раскрытом фильтре Views с помощью виджета jQuery UI Slider
- Поле с автодополнением при помощи jQuery UI Autocomplete
Комментарии
Помниться у меня были пробемы с русским языком - приходилось JS с локализацией подгружать дополнительно. У тебя нормально?
была такая бага, сейчас уже починили.
Для выполнения данной задачи можно использовать date_popup
Вместо даты подставляет "мм/дд/гг"
удалите перевод строки
mm/dd/yy
подскажите пожалуйста где это надо сделать
admin/config/regional/translate/translate
Спасибо, теперь все работает
А нет базовой фишки для выбора времени? Необходимо для формы обратной связи, типа время звонка
Есть ли возможность использовать Datepicker для выбора нескольких дат (через ctrl, например) или просто в одно поле добавлять через запятую?
Именно так, выборочно. Не диапазоном
Подскажите пожалуйста как добавить библиотеку ui.datepicker, тоесть откуда ее брать и куда закачивать. Спасибо!
библиотека в ядре
так она откуда-то должна туда попасть (в библиотеки drupal)! Как ее корректно прикрутить? Расскажите поподробнее.
она с самого начала "в библиотеки drupal"
Из коробки - нет. Но есть библиотеки, например: http://multidatespickr.sourceforge.net/
Она уже там. Подключается она вот этим кодом из примера:
А как изменить тему jQuery UI с дефолтной на свою, которую выбрал вот здесь: http://jqueryui.com/themeroller/
http://blog.samat.org/2011/08/22/Changing-Drupal-7s-built-in-jQuery-UI-…
Добавить комментарий