Skip to content

Sonelal/jquery-timepicker

 
 

Repository files navigation

Timepicker Plugin for jQuery

timepicker screenshot

See a demo and examples here

jquery.timepicker is a lightweight timepicker plugin for jQuery inspired by Google Calendar. It supports both mouse and keyboard navigation, and weighs in at 2.5kb minified and gzipped.

Requirements

Usage

$('.some-time-inputs').timepicker(options);

options is an optional javascript object with parameters explained below.

Options

  • className A class name to apply to the HTML element that contains the timepicker dropdown. default: null

  • minTime The time that should appear first in the dropdown list. default: 12:00am

  • maxTime The time that should appear last in the dropdown list. Can be used to limit the range of time options. default: 24 hours after minTime

  • showDuration Shows the relative time for each item in the dropdown. minTime or durationTime must be set. default: false

  • durationTime The time against which showDuration will compute relative times. default: minTime

  • step The amount of time, in minutes, between each item in the dropdown. default: 30

  • timeFormat How times should be displayed in the list and input element. Uses PHP's date() formatting syntax. default: 'g:ia'

  • scrollDefaultNow If no time value is selected, set the dropdown scroll position to show the current time. default: false

  • scrollDefaultTime If no time value is selected, set the dropdown scroll position to show the time provided, e.g. "09:00". default: false

  • selectOnBlur Update the input with the currently highlighted time value when the timepicker loses focus. default: false

  • appendTo Override where the dropdown is appended. Takes either a string to use as a selector, a function that gets passed the clicked input element as argument or a jquery object to use directly. default: "body"

  • disableTouchKeyboard Disable the onscreen keyboard for touch devices. default: true

  • closeOnWindowScroll Close the timepicker when the window is scrolled. (Replicates <select> behavior.) default: true

  • disabledTimeRanges Disable selection of certain time ranges. Input is an array of time pairs, like ```[['3:00am', '4:30am'], ['5:00pm', '8:00pm']]`` default: []

  • lang Language constants used in the timepicker. Can override the defaults by passing an object with one or more of the following properties: decimal, mins, hr, hrs. default: { decimal: '.', mins: 'mins', hr: 'hr', hrs: 'hrs' }

Methods

  • getTime Get the time using a Javascript Date object, relative to today's date.

     $('#getTimeExample').timepicker('getTime');

    You can get the time as a string using jQuery's built-in val() function:

     $('#getTimeExample').val();
  • getSecondsFromMidnight Get the time as an integer, expressed as seconds from 12am.

     $('#getTimeExample').timepicker('getSecondsFromMidnight');
  • setTime Set the time using a Javascript Date object.

     $('#setTimeExample').timepicker('setTime', new Date());
  • option Change the settings of an existing timepicker.

     $('#optionExample').timepicker({ 'timeFormat': 'g:ia' });
     $('#optionExample').timepicker('option', 'minTime', '2:00am');
     $('#optionExample').timepicker('option', { 'minTime': '4:00am', 'timeFormat': 'H:i' });
  • remove Unbind an existing timepicker element.

     $('#removeExample').timepicker('remove');

Events

  • showTimepicker Called when the timepicker is shown.

  • hideTimepicker Called when the timepicker is closed.

  • changeTime Called when a time value is selected.

  • timeFormatError Called if an unparseable time string is manually entered into the timepicker input.

  • timeRangeError Called if an maxTime or minTime is set and an invalid time is manually entered into the timepicker input.

Theming

Sample markup with class names:

<span class="ui-timepicker-container">
	<input value="5:00pm" class="ui-timepicker-input" type="text">
	<ul class="ui-timepicker-list optional-custom-classname" tabindex="-1">
		<li>12:00am</li>
		<li>12:30am</li>
		...
		<li>4:30pm</li>
		<li class="ui-timepicker-selected">5:00pm</li>
		<li>5:30pm</li>
		...
		<li>11:30pm</li>
	</ul>
</span>

Help

Submit a GitHub Issues request.

Development guidelines

  1. Install dependencies (jquery + grunt) npm install
  2. For sanity checks and minification run grunt, or just grunt lint to have the code linted

This software is made available under the open source MIT License. © 2012 Jon Thornton, contributions from Anthony Fojas, Vince Mi, Nikita Korotaev, Spoon88, elarkin, lodewijk, jayzawrotny, David Mazza, Matt Jurik, Phil Freo, orloffv, patdenice, Raymond Julin, Gavin Ballard, Steven Schmid, ddaanet

About

A jQuery timepicker plugin inspired by Google Calendar.

Resources

Stars

Watchers

Forks

Packages

No packages published