bootstrap-datetimepicker是一款基于Bootstrap 3的超实用jQuery日期时间选择器。通过该jQuery插件你可以非常容易的创建很酷的bootstrap样式的日期时间选择器。你也可以通过修改css文件来自定义它的样式。
该jQuery日期时间选择器的最小外部依赖需求是:
可以通过Bower来按钮该jQuery日期时间选择器插件。
bower install eonasdan-bootstrap-datetimepicker#latest --save
生成的文件包括了必要的css和js文件:
<head> <!-- ... --> <script type="text/javascript" src="/bower_components/jquery/jquery.min.js"></script> <script type="text/javascript" src="/bower_components/moment/min/moment.min.js"></script> <script type="text/javascript" src="/bower_components/bootstrap/dist/js/bootstrap.min.js"></script> <script type="text/javascript" src="/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js"></script> <link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.min.css" /> <link rel="stylesheet" href="/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css" /> </head>
MM/dd/YYYY
将不会显示时间选择器。Default: false Accepts: date, moment, string
该日期前的日期时间不可选择。
Default: false Accepts: date, moment, string
该日期后的日期时间不可选择。
Default: moment.locale() Accepts: string, moment.local('locale')
有效的格式可以查看momentjs的文档。你必须引入moment-with-locales.js
文件。
Default: false Accepts: date, moment, string
设置默认的日期和时间选择器。覆盖useCurrent
。
Default: false Accepts: array of [date, moment, string]
在数组中的日期不能被选择,例如节假日。
Default: false Accepts: array of [date, moment, string]
不在数组中的日期将不能被选择。
Default: { time: 'glyphicon glyphicon-time' date: 'glyphicon glyphicon-calendar' up: 'glyphicon glyphicon-chevron-up' down: 'glyphicon glyphicon-chevron-down' previous: 'glyphicon glyphicon-chevron-left' next: 'glyphicon glyphicon-chevron-right' today: 'glyphicon glyphicon-screenshot' clear: 'glyphicon glyphicon-trash' } Accepts: object with all or some of the parameters above
改变选择器默认你的图标。
Default: [] Accepts: array of numbers from 0-6
不允许选择一个星期中的某些天。
Default: 'days' Accepts: 'years','months','days'
选择器显示时的默认视图。
Note: To limit the picker to selecting, for instance the year and month, use format: MM/YYYY
.
Default: 'default' Accepts: 'default', 'top', 'bottom'
改变工具栏上的图标。
Default: { horizontal: 'auto' vertical: 'auto' } Accepts: object with the all or one of the parameters above horizontal: 'auto', 'left', 'right' vertical: 'auto', 'top', 'bottom'
Default: null Accepts: string or jQuery object
On picker show, places the widget at the identifier (string) or jQuery object if the element has css position: 'relative'
Emits:
hide.dp
:如果在该方法调用时组件的状态时隐藏的。show.dp
:如果在该方法调用时组件的状态时可见的。change.dp
: if the widget is opened for the first time and the input element is empty and options.useCurrent != false
Emits:
show.dp
:如果在该方法调用时组件的状态时隐藏的。change.dp
:如果组件是第一次打开,并且useCurrent
设置为true
,并且input元素上为空值。Emits:
hide.dp
:如果在该方法调用时组件的状态时可见的。disabled="true"
可以使组件也不可用。如果在该方法调用时组件的状态时可见的,将设置其为不可见。
Emits:
hide.dp
:如果在该方法调用时组件的状态时可见的。disabled
可以使组件也可用。moment
对象或null
(未设置值)newDate string, Date, moment, null
。设置为null
则不改变当前组件的值。通过moment库的options.format
和options.useStrict
来解析新的日期时间。
Throws:
TypeError
:newDate
不能被解析。Emits:
change.dp
:newDate
与当前日期不同。[ string or Date or moment ]
值,不允许用户选择它们。该方法优先于options.minDate
和options.maxDate
配置。也可以通过该方法移除options.enabledDates
配置参数。Note: These values are matched with Day granularity.
disabledDates(dates)
用法相反。options.defaultDate
或false
参数的moment
对象。string, Date, moment, boolean:false
参数设置选择器的初始状态。如果options.defaultDate
设置了boolean:false
,参数将被清空。
options.useCurrent
返回一个布尔值或字符串。参数为boolean
或string
。If a boolean true is passed and the components model moment is not set (either through setDate
or through a valid value on the input element the component is attached to) then the first time the user opens the datetimepicker widget the value is initialized to the current moment of the action. If a false boolean is passed then no initialization happens on the input element. You can select the granularity on the initialized moment by passing one of the following strings ('year', 'month', 'day', 'hour', 'minute'
) in the variable.
If for example you pass 'day'
to the setUseCurrent
function and the input field is empty the first time the user opens the datetimepicker widget the input text will be initialized to the current datetime with day granularity (ie if currentTime = 2014-08-10 13:32:33
the input value will be initialized to 2014-08-10 00:00:00
)
Note: If the options.defaultDate
is set or the input element the component is attached to has already a value that takes precedence and the functionality of useCurrent
is not triggered!
该日期时间选择器还有很多事件,具体请看这里。