Installation
This project is registered as a Bower package.
$ bower install bootstrap-durationpicker
Demos
Default durationpicker. Value = ()
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link type="text/css" href="css/bootstrap.min.css" /> <link type="text/css" href="css/bootstrap-durationpicker.min.css" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript" src="js/bootstrap-2.2.2.min.js"></script> <script type="text/javascript" src="js/bootstrap-durationpicker.min.js"></script> </head> <body> <div class="input-append bootstrap-durationpicker"> <input id="durationpicker1" type="text" class="input-small"> <span class="add-on"><i class="icon-time"></i></span> </div> <script type="text/javascript"> $('#durationpicker1').durationpicker(); </script> </body> </html>
Inside a modal.
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link type="text/css" href="css/bootstrap.min.css" /> <link type="text/css" href="css/bootstrap-durationpicker.min.css" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript" src="js/bootstrap-2.2.2.min.js"></script> <script type="text/javascript" src="js/bootstrap-durationpicker.min.js"></script> </head> <body> <div class="input-append bootstrap-durationpicker"> <input id="durationpicker2" type="text" class="input-small"> <span class="add-on"> <i class="icon-time"></i> </span> </div> <script type="text/javascript"> $('#durationpicker2').durationpicker({ minuteStep: 1, template: 'modal', appendWidgetTo: 'body', showSeconds: false, defaultDuration: false }); </script> </body> </html>
Without component markup, keyboard input disabled and floated right.
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link type="text/css" href="css/bootstrap.min.css" /> <link type="text/css" href="css/bootstrap-durationpicker.min.css" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript" src="js/bootstrap-2.2.2.min.js"></script> <script type="text/javascript" src="js/bootstrap-durationpicker.min.js"></script> </head> <body> <div class="bootstrap-durationpicker pull-right"> <input id="durationpicker3" type="text" class="input-small"> </div> <script type="text/javascript"> $('#durationpicker3').durationpicker({ minuteStep: 5, showInputs: false, disableFocus: true }); </script> </body> </html>
Inside a modal with backdrop enabled, inputs disabled and with a preset value.
Open Modal + View Source<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link type="text/css" href="css/bootstrap.min.css" /> <link type="text/css" href="css/bootstrap-durationpicker.min.css" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript" src="js/bootstrap-2.2.2.min.js"></script> <script type="text/javascript" src="js/bootstrap-durationpicker.min.js"></script> </head> <body> <div> class="modal hide fade"> <div class="modal-header"> <h1>Durationpicker inside a modal</h1> </div> <div class="modal-body"> <div class="bootstrap-durationpicker"> <input id="durationpicker4" type="text" value="10:35" class="input-small"> <i class="icon-time"></i> </div> </div> </div> <script type="text/javascript"> $('#durationpicker4').durationpicker({ minuteStep: 1, secondStep: 5, showInputs: false, template: 'modal', modalBackdrop: true, showSeconds: true, }); </script> </body> </html>
Without a template.
+ View Source<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link type="text/css" href="css/bootstrap.min.css" /> <link type="text/css" href="css/bootstrap-durationpicker.min.css" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript" src="js/bootstrap-2.2.2.min.js"></script> <script type="text/javascript" src="js/bootstrap-durationpicker.min.js"></script> </head> <body> <div class="bootstrap-durationpicker"> <input id="durationpicker5" type="text" class="input-small"> <i class="icon-time"></i> </div> <script type="text/javascript"> $('#durationpicker5').durationpicker({ template: false, showInputs: false, minuteStep: 5 }); </script> </body> </html>
Configuration
template The picker widget template
Name | Options / Defaults | Description |
---|---|---|
template |
'dropdown' (default) 'modal' false |
Show picker in a dropdown Show picker in a modal Don't show a widget |
customTemplateContent |
'<table>...</table>' false |
Use your template Use default template |
minuteStep | 15 | Specify a step for the minute field. |
showSeconds | false | Show the seconds field. |
secondStep | 15 | Specify a step for the second field. |
defaultDuration |
'current' (default) '11:45' false |
Set to the current duration. Set to a specific duration. Do not set a default duration |
showInputs |
true (default) false |
Shows the text inputs in the widget. Hide the text inputs in the widget |
disableFocus | false | Disables the input from focusing. This is useful for touch screen devices that display a keyboard on input focus. |
disableMousewheel | false | Disables the input from changing on mousewheel events |
modalBackdrop | false | Show modal backdrop. |
Data Attributes
Configuration options can also be set with the use of data attributes.
<div class="bootstrap-durationpicker"/><input id="durationpicker" data-template="modal" data-minute-step="1" data-modal-backdrop="true" type="text"/></div>
Methods
showWidget Show the picker widget
var duration = $('#durationpicker').durationpicker('showWidget');
setDuration Set the curation manually
$('#durationpicker').durationpicker('setDuration', '12:45');
Events
Show Triggered when dropdown/modal widget is shown
$('#durationpicker').durationpicker().on('show.durationpicker', function(e) { console.log('The duration is ' + e.duration.value); console.log('The hour is ' + e.duration.hour); console.log('The minute is ' + e.duration.minute); });
Hide Triggered when widget is hidden
$('#durationpicker').durationpicker().on('hide.durationpicker', function(e) { console.log('The duration is ' + e.duration.value); console.log('The hour is ' + e.duration.hour); console.log('The minute is ' + e.duration.minute); });
Update Triggered when the date is updated
$('#durationpicker').durationpicker().on('changeDuration.durationpicker', function(e) { console.log('The duration is ' + e.duration.value); console.log('The hour is ' + e.duration.hour); console.log('The minute is ' + e.duration.minute); });