jQuery TimePicker is a plugin to help users easily input time entries. It works by allowing the user to type times in a free format or selecting them from a dropdown menu.
The plugin will automatically convert all time entries to a format that can be changed passing the timeFormat option; the default value is hh:mm p which will give something like ’02:16 PM’. The following are a few examples of the supported “formats”:
- 1234 will be converted to 12:34 AM
- 1234 p will be converted to 12:34 PM
- 456 will be converted to 04:56 AM
- 1656 will be converted to 04:56 PM
- 1:1 P will be converted to 01:10 PM
- 1:9 A will be converted to 01:09 AM
- 8:59 will be converted to 08:59 PM
- 1:20:30 will be converted to 01:20:30 PM
- 46 will be converted to 05:00 AM (4 hours plus 60 minutes)
There are other supported formats, all inspired by the behavior of a similar timepicker used in Google Calendar. To see more, check the options page.
How to Use
To use jQuery TimePicker you’ll need to include two files: jquery.timepicker.js and jquery.timepicker.css. Then you can use the following code to initialize the plugin:
- timeFormat: this is the format of time string displayed in the input field and the menu items in the combobox. Available modifiers are: h, hh, H, HH, m, mm, s, ss, p.
- minTime: a Date object. Only the time parts (getHours, getMinutes) of the object are important. Time entries before minTime won’t be displayed/allowed.
- minHour: int. Ignored if minTime is set.
- minMinutes: int. Ignored if minTime is set.
- maxTime: a Date object. Time entries after maxTime won’t be displayed.
- maxHour: int. Ignored if maxTime is set.
- maxMinutes: int. Ignored if maxTime is set.
- starTime: a Date object. The time of the first item in the combobox when the input field is empty. If the input field is not empty the first item will be the next allowed time entry.
- startHour: int. Ignored if startTime is set.
- startMinutes: int. Ignored if startTime is set.
- interval: int. Time separation in minutes between each time entry.
- dropdown: boolean. Whether the dropdown should be displayed or not.
- scrollbar: boolean. Whether the scrollbars are shown or not.
- change: a callback called when the value of the input field changes. A Date object with the selected time is passed to the callback.
The Plugin has been tested in Firefox 3.6, Google Chrome, Safari (Windows) and IE 7.
Bugs reports, comments and new features suggestions are welcome at GitHub, in the comments sections of this post or through the contact page of this blog.
Latest version of jQuery TimePicker can be downloaded from GitHub.