Demo
About The Timepicker
This is based on the very slick time picker by Maxime Haineault. Its a YUI 3 widget and currently requires YUI 3 beta 1
Useage
YUI instance
Add the YUI seed file & and the widget sources to your page:
<!-- css -->
<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/combo?3.0.0/build/cssreset/reset-min.css&3.0.0/build/cssfonts/fonts-min.css">
<link rel="stylesheet" href="timepicker.css" type="text/css" />
<!-- YUI Seed -->
<script src="http://yui.yahooapis.com/3.0.0/build/yui/yui-min.js" type="text/javascript"></script>
<!-- Widget Source-->
<script src="timepickerwidget.js" type="text/javascript"></script>
Then create a YUI instance:
YUI().use('timepicker', function(Y){
});
Using the widget
Create a form...
<form>
<label for="time">Time: </label><input type="text" name="time" value="2:45AM" id="time">
<div id ="cb" >
</div>
<p><input type="submit" value="Continue →" /></p>
</form>
And write your script...
YUI().use('timepicker', function(Y){
//instantiate and identify the contentBox
var picker = new Y.Saw.Timepicker({contentBox: '#cb'});
picker.render();
//hide
picker.hide();
//show
picker.show();
//set am or pm with class constants
picker.set('time.ampm', picker.AM);
//subscribe to events to do cool stuff:
picker.subscribe('timechange', function(data){
//fires when the time changes
//put the 12 hour string into the input. s24hour is also available
Y.get('#time').set('value' ,data.s12hour);
//the data object also has members for hour, minute, ampm. Ampm is
//an int identified by picker.AM or picker.PM
});
picker.subscribe('cellclick', function(e){
//fires when a cell is clicked.
this.hide();
},picker);
});
Available configuration properties. (sorry for the lack of formatting, in a hurry right now
Timepicker.ATTRS = {
delay:{
value:15
},
time:{
value:{
hour:0,
minute:0,
ampm:AM
}
},
strings: {
value: {
am : "AM",
pm : "PM",
seperator : ':'
}
}
};