1. 使用JavaScript的“Date”对象,为前端应用程序创建一个简单的日期选择控件;
2. 使用第三方JavaScript框架和库,来实现日期选择器的简单、可配置化的控件;
3. 集成一些GUI控件,来实现更细节、更丰富的日期选择功能;
4. 使用CSS3中的日期输入字段,来更便捷地输入日期。
bootstrap为我们提供了一款十分实用的日期控件,但相对于初学者来说,这款日期控件的用法要比按钮等css样式难上许多。这里小编就为大家介绍一下这款功能强大的日期控件的用法。工具/原料
bootstrap
Dreamweaver
方法/步骤
首先,我们将这款日期控件下载下来。百度bootstrap日期控件即可。
将下载好的日期控件的css、js引入自己的文件中。
在这里需要引入的文件有:
bootstrap.min.css(含有bootstrap 所有css)
bootstrap-datetimepicker.min.css(重要,这就是日期控件所需的样式表)
jquery-1.8.3.min.js(其他版本的jquery也可以)
bootstrap.min.js(含有bootstrap 所有js)
bootstrap-datetimepicker.js(重要,这就是日期控件所需的js)
locales/bootstrap-datetimepicker.fr.js(重要,这里是日期控件初始值)
将所有文件引入完成后,就开始设置日期控件吧。
这是第一种样式。当然,你可以只要input就可以了。
<div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
<input class="span2" size="16" type="text" value="12-02-2012">
<span class="add-on"><i class="icon-th"></i></span>
</div>
第二种样式,带有重置按钮(用于清空输入框)的组件模版:
<div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
<input class="span2" size="16" type="text" value="12-02-2012">
<span class="add-on"><i class="icon-remove"></i></span>
<span class="add-on"><i class="icon-th"></i></span>
</div>
i的作用就是两个小图标,若不要可以删去。
最简洁的样式,只有input,点击弹出选择器:
<input class="span2" size="16" type="text" value="12-02-2012">
当然,只有这些是无法弹出日期选择器的,还需要js来激活。
这里是最重要的一步,js激活日期选择器!
<script type="text/javascript">
$('你的input的class或id').datetimepicker({
//一堆参数
})
</script>
将这个写在你的页面内,至于参数,一会再介绍。这样就可以激活你的日期选择器了,点击input便可以弹出选择器。
日期选择器的参数设置:
format
weekStart
startDate
endDate
daysOfWeekDisabled
autoclose
startView
minView
maxView
todayBtn
todayHighlight
keyboardNavigation
language
forceParse
minuteStep
pickerPosition
viewSelect
showMeridian
initialDate
这些属性不用全部设置,但有些是必须的,比如format。
这里是小编所使用的一款日期选择器的初始化设置:
$('.date').datetimepicker({
format:yyyy-mm-dd,
weekStart: 1,
todayBtn: 1,
autoclose: 1,
todayHighlight: 1,
startView: 2,
forceParse: 0,
showMeridian: 1
})
bootstrap日期选择器的属性非常多,这也给了用户较大的选择性,快去设置你自己的DIY日期选择器吧!
datetimepicker默认就是公历的年份的。使用方法如下:
引用css及js文件
<link rel="stylesheet" href="Css/bootstrap-datetimepicker.min.css">
<script src="Js/bootstrap-datetimepicker.js"></script>
1
2
然后调用初始化日期插件方法:
html用法:
<input size="16" type="text" value="" class="form_datetime">
//下面是js:
<script type="text/javascript">
//日期插件
$(".form_datetime").datetimepicker({
format: 'yyyy-mm-dd',//显示格式
todayHighlight: 1,//今天高亮
minView: "month",//设置只显示到月份
startView:2,
forceParse: 0,
showMeridian: 1,
autoclose: 1//选择后自动关闭
})
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
以上js写法,直接选择到天数,就自动关闭选择框。
显示选项:
yyyy-mm-dd
yyyy-mm-dd hh:ii
yyyy-mm-dd hh:ii:ss
1
2
3
其他选项:
weekStart
Integer. 默认值:0
一周从哪一天开始 0(星期日)到6(星期六)
startDate
Date. 默认值:开始时间
endDate
Date. 默认值:结束时间
autoclose
Boolean. 默认值:false
当选择一个日期之后是否立即关闭此日期时间选择器。
startView
Number, String. 默认值:2, ‘month’
日期时间选择器打开之后首先显示的视图。 可接受的值:
0 or ‘hour’ 为小时视图
1 or ‘day’ 为天视图
2 or ‘month’ 为月视图(为默认值)
3 or ‘year’ 为年视图
4 or ‘decade’ 为十年视图
todayBtn
Boolean, “linked”. 默认值: false
如果此值为true 或 “linked”,则在日期时间选择器组件的底部显示一个 “Today” 按钮用以选择当前日期。如果是true的话,”Today” 按钮仅仅将视图转到当天的日期,如果是”linked”,当天日期将会被选中。
todayHighlight
Boolean. 默认值: false
如果为true, 高亮当前日期。
keyboardNavigation
Boolean. 默认值: true
是否允许通过方向键改变日期。
日期时间选择器提供了键盘导航:
up, down, left, right 方向键
这些方向键中,left/right 向后/向前 一天,up/down 向后/向前 一周。
配合shift键,up/left 向后退一个月,down/right 向前进一个月。
配置ctrl键,up/left 向后退一年,down/right 向前进一年。
Shift+ctrl 和 ctrl 同等效果 - 也就是说,他们不能同时改变月和年,只能单独改变年。
language
String. 默认值: ‘en’; 可以通过导入对应语言的js文件来设置语言
forceParse
Boolean. 默认值: true
当选择器关闭的时候,是否强制解析输入框中的值。
方法:
.datetimepicker(options)
1
初始化日期时间选择器。
remove
参数: None
移除日期时间选择器。同时移除已经绑定的event、内部绑定的对象和HTML元素。
$('#datetimepicker').datetimepicker('remove')
1
show
参数: None
显示日期时间选择器。
$('#datetimepicker').datetimepicker('show')
1
hide
参数: None
隐藏日期时间选择器。
$('#datetimepicker').datetimepicker('hide')
1
update
参数: None
使用当前输入框中的值更新日期时间选择器。
$('#datetimepicker').datetimepicker('update')
1
setStartDate
参数:
startDate (String)
给日期时间选择器设置一个新的起始日期。
$('#datetimepicker').datetimepicker('setStartDate', '2012-01-01')
1
setEndDate
参数:
endDate (String)
给日期时间选择器设置结束日期。
$('#datetimepicker').datetimepicker('setEndDate', '2012-01-01')