Date Picker
The datepicker allows users to select a date from an interactive calendar.
<input type="text" class="datepicker">
Initialization
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.datepicker');
var instances = M.Datepicker.init(elems, {
// specify options here
});
});
// Or with jQuery
$(document).ready(function(){
$('.datepicker').datepicker({
// specify options here
});
});
Options
Name | Type | Default | Description |
---|---|---|---|
autoClose | Boolean | false | Automatically close picker when date is selected. |
format | String || Function | 'mmm dd, yyyy' | The date output format for the input field value or a function taking the date and outputting the formatted date string. |
parse | Function | null | Used to create date object from current input string. |
defaultDate | Date | null | The initial date to view when first opened. |
setDefaultDate | Boolean | false | Make the defaultDate the initial selected value. |
disableWeekends | Boolean | false | Prevent selection of any date on the weekend. |
disableDayFn | Function | null | Custom function to disable certain days. |
firstDay | Number | 0 | First day of week (0: Sunday, 1: Monday etc). |
minDate | Date | null | The earliest date that can be selected. |
maxDate | Date | null | The latest date that can be selected. |
yearRange | Number || Array | 10 | Number of years either side, or array of upper/lower range. |
yearRangeReverse | Boolean | false | Sort year range in reverse order |
isRTL | Boolean | false | Changes Datepicker to RTL. |
showMonthAfterYear | Boolean | false | Show month after year in Datepicker title. |
showDaysInNextAndPreviousMonths | Boolean | false | Render days of the calendar grid that fall in the next or previous month. |
container | Element || String | null | Specify a DOM element OR selector for a DOM element to render the calendar in, by default it will be placed before the input. |
showClearBtn | Boolean | false | Show the clear button in the datepicker. |
i18n | Object | See i18n documentation. | Internationalization options. |
events | Array | [] | An array of string returned by `Date.toDateString()`, indicating there are events in the specified days. |
onSelect | Function | null | Callback function when date is selected, first parameter is the newly selected date. |
onOpen | Function | null | Callback function when Datepicker is opened. |
onClose | Function | null | Callback function when Datepicker is closed. |
onDraw | Function | null | Callback function when Datepicker HTML is refreshed. |
Date format options
Use these in the format option to customize your date string.
Key | Description | Output |
---|---|---|
d | Date of the month. | 1-31 |
dd | Date of the month (2 digits). | 01-31 |
ddd | Day of the week in short form set by the i18n option. | Sun-Sat |
dddd | Day of the week in full form set by the i18n option. | Sunday-Saturday |
m | Month of the year. | 1-12 |
mm | Month of the year (2 digits). | 01-12 |
mmm | Month of the year in short form set by the i18n option. | Jan-Dec |
mmmm | Month of the year in full form set by the i18n option. | January-December |
yy | 2-digit year. | 17 |
yyyy | 4-digit year. | 2017 |
Datepicker Internationalization options
Use these in the i18n option to localize the datepicker.
Key | Text |
---|---|
cancel | 'Cancel' |
clear | 'Clear' |
done | 'Ok' |
previousMonth | '‹' |
nextMonth | '›' |
months |
[ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ] |
monthsShort |
[ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ] |
weekdays |
[ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ] |
weekdaysShort |
[ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ] |
weekdaysAbbrev | ['S','M','T','W','T','F','S'] |
Properties
Name | Type | Description |
---|---|---|
el | Element | The input element the plugin was initialized with. |
options | Object | The options the instance was initialized with. |
isOpen | Boolean | If the picker is open. |
date | Date | The selected Date. |
Methods
Because jQuery is no longer a dependency, all the methods are called on the plugin instance. You can get the plugin instance like this:
var instance = M.Datepicker.getInstance(elem); /* jQuery Method Calls You can still use the old jQuery plugin method calls. But you won't be able to access instance properties. $('.datepicker').datepicker('methodName'); $('.datepicker').datepicker('methodName', paramName); */
.open();
Open datepicker
instance.open();
.close();
Close datepicker
instance.close();
.toString();
Gets a string representation of the selected date
instance.toString();
.setDate();
Set a date on the datepicker
Arguments
Date (optional): Date to set on the datepicker.
instance.setDate(new Date());
.gotoDate();
Change date view to a specific date on the datepicker
Arguments
Date: Date to show on the datepicker.
instance.gotoDate(new Date());
.destroy();
Destroy plugin instance and teardown
instance.destroy();
Time Picker
The timepicker allows users to select a date from an interactive clock.
<input type="text" class="timepicker">
Initialization
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.timepicker');
var instances = M.Timepicker.init(elems, {
// specify options here
});
});
// Or with jQuery
$(document).ready(function(){
$('.timepicker').timepicker({
// specify options here
});
});
Options
Name | Type | Default | Description |
---|---|---|---|
duration | Number | 350 | Duration of the transition from/to the hours/minutes view. |
container | Element || String | null | Specify a DOM element OR selector for a DOM element to render the time picker in, by default it will be placed before the input. |
showClearBtn | Boolean | false | Show the clear button in the Timepicker. |
defaultTime | String | 'now' | Default time to set on the timepicker 'now' or '13:14' |
fromNow | Number | 0 | Millisecond offset from the defaultTime. |
i18n | Object | See i18n documentation. | Internationalization options. |
autoClose | Boolean | false | Automatically close picker when minute is selected. |
twelveHour | Boolean | true | Use 12 hour AM/PM clock instead of 24 hour clock. |
vibrate | Boolean | true | Vibrate device when dragging clock hand. |
onOpenStart | Function | null | Callback function called before modal is opened. |
onOpenEnd | Function | null | Callback function called after modal is opened. |
onCloseStart | Function | null | Callback function called before modal is closed. |
onCloseEnd | Function | null | Callback function called after modal is closed. |
onSelect | Function | null | Callback function when a time is selected, first parameter is the hour and the second is the minute. |
Timepicker Internationalization options
Use these in the i18n option to localize the timepicker.
Key | Text |
---|---|
cancel | 'Cancel' |
clear | 'Clear' |
done | 'Ok' |
Properties
Name | Type | Description |
---|---|---|
el | Element | The input element the plugin was initialized with. |
options | Object | The options the instance was initialized with. |
isOpen | Boolean | If the picker is open. |
time | String | The selected time. |
Methods
Because jQuery is no longer a dependency, all the methods are called on the plugin instance. You can get the plugin instance like this:
var instance = M.Timepicker.getInstance(elem); /* jQuery Method Calls You can still use the old jQuery plugin method calls. But you won't be able to access instance properties. $('.timepicker').timepicker('methodName'); $('.timepicker').timepicker('methodName', paramName); */
.open();
Open timepicker
instance.open();
.close();
Close timepicker
instance.close();
.showView();
Show hours or minutes view on timepicker
Arguments
String: The name of the view you want to switch to, 'hours' or 'minutes'.
instance.showView('hours');
.destroy();
Destroy plugin instance and teardown
instance.destroy();