jQuery日历插件datepicker用法详解


Posted in Javascript onMarch 03, 2016

 jQuery是一款不可多得的非常优秀的javascript脚本开发库,而基于其上的很多插件也是非常规范和卓越的,如果错过这番美景真是太可惜了,比如datepicker这个插件。

一般MIS系统的前端,尤其是用户注册页面,都会有诸如“出身年月”的日期输入框,最简单的做法就是使用一个<input type="text"/>标签,这样做的弊端有很多:首先是与数据库字段类型的匹配、其次是输入日期的合法性如“13月”或者闰年等等问题,如果深入下去还有非常多的地方值得推敲。当前比较流行的做法是使用下拉菜单<select><option></option></select>来构造,但是这样做无论交互性、复杂度和可移植性都不尽如人意,因为至少需要构建3个联动的下拉菜单,需要自己编写大量的脚本处理日期合法性。

datepicker带来了美好的春天,先看看使用默认样式时它的样子:

jQuery日历插件datepicker用法详解

完全GUI般的用户体验,炫目的动态展现效果,精确的日期控制和高度的灵活的参数配置,这一切使得datepicker受到众多开发者的青睐,其中包括大名鼎鼎的google,在其google calendar项目中就使用了这个脚本,有兴趣可以去看看。顺便??乱痪洌?贤嫉哪?闲Ч???avascript中,用户只需写一句话就可以实现了,怎么样,心动了吧,follow me:

1.下载jQuery核心文件就不用说了吧,datepicker是轻量级插件,只需jQuery的min版本就行了,然后下载datepicker(内含jQuery1.2.6_min),您也可以到官方网站下载:http://marcgrabanski.com/pages/code/jquery-ui-datepicker。

2.在HTML中引用下载下来的两个js:

<script language="javascript" src="js/jquery-1.2.6.min.js"></script>
<script language="javascript" src="js/ui.datepicker.js"></script>

3.在HTML中引入默认样式表文件,这个文件也在刚刚的压缩包中,如果在官网下载,首页就有这个CSS文件下载,也可选择其他皮肤的CSS:

<link rel="stylesheet" href="js/ui.datepicker.css" type="text/css" media="screen" title="core css file" charset="utf-8" />

4.在HTML中插入文本域,最好设置成只读,不接受用户的手动输入,防止格式混乱,以id标记好。

<input id="dateinput" type="text" readonly="readonly"/>

5.编写js代码,实现最终效果。

<script language="javascript">
$(document).ready(function() { 
 $('#dateinput').datepicker(); 
 }); 
</script>

这样就基本完成一个日期输入文本域了,但是是英文的,根据不同的MIS系统,有的目标人群是上了年级的用户,建议将界面改成中文,可以如此操作,稍微改动一下刚刚的函数,like this:

<script language="javascript">
$(document).ready(function() { 
 $('#dateinput').datepicker({ 
  dateFormat: 'yy-mm-dd', //日期格式,自己设置
  buttonImage: 'calendar.gif', //按钮的图片路径,自己设置
  buttonImageOnly: true, //Show an image trigger without any button.
  showOn: 'both',//触发条件,both表示点击文本域和图片按钮都生效
 yearRange: '1990:2008',//年份范围
 clearText:'清除',//下面的就不用详细写注释了吧,呵呵,都是些文本设置
 closeText:'关闭',
 prevText:'前一月',
 nextText:'后一月',
 currentText:' ',
 monthNames:['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
 }); 
 }); 
</script>

OK,大功告成,我根据自己的要求,写的页面的代码如下,仅供参考,自己尝试一下吧:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link rel="stylesheet" href="js/ui.datepicker.css" type="text/css" media="screen" title="core css file" charset="utf-8" />
<script language="javascript" src="js/jquery-1.2.6.min.js"></script>
<script language="javascript" src="js/ui.datepicker.js"></script>
<script language="javascript">
$(document).ready(function() { 
 var yearFrom=new Date().getYear()-60+1900;
 var yearTo=new Date().getYear()-18+1900; 
 $('#dateinput').datepicker({ 
 dateFormat: 'yy-mm-dd', 
 buttonImage: 'calendar.gif', 
 buttonImageOnly: true, 
 showOn: 'both',
 yearRange: yearFrom+':'+yearTo,
 clearText:'清除',
 closeText:'关闭',
 prevText:'前一月',
 nextText:'后一月',
 currentText:' ',
 monthNames:['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
 }); 
 }); 
</script>
</head>
<body>
<input id="dateinput" type="text" readonly="readonly"/>
</body>
</html>

以上就是关于jQuery日历插件datepicker用法详细介绍,希望对大家的学习有所帮助。

Javascript 相关文章推荐
jQuery 1.5最新版本的改进细节分析
Jan 19 Javascript
javascript每日必学之循环
Feb 19 Javascript
全面解析Bootstrap中form、navbar的使用方法
May 30 Javascript
jquery判断input值不为空的方法
Jun 05 Javascript
JQuery手速测试小游戏实现思路详解
Sep 20 Javascript
js实现带缓动动画的导航栏效果
Jan 16 Javascript
详解使用JS如何制作简单的ASCII图与单极图
Mar 31 Javascript
vue数据传递--我有特殊的实现技巧
Mar 20 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
Nov 02 Javascript
JavaScript页面加载事件实例讲解
Sep 01 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
Apr 08 Javascript
Swiper实现导航栏滚动效果
Oct 16 Javascript
初步使用Node连接Mysql数据库
Mar 03 #Javascript
初步使用bootstrap快速创建页面
Mar 03 #Javascript
JS动态增删表格行的方法
Mar 03 #Javascript
微信jssdk在iframe页面失效问题的解决措施
Mar 03 #Javascript
基于javascript html5实现多文件上传
Mar 03 #Javascript
编写高质量JavaScript代码的基本要点
Mar 02 #Javascript
JS获取当前脚本文件的绝对路径
Mar 02 #Javascript
You might like
十天学会php之第七天
2006/10/09 PHP
php empty()与isset()区别的详细介绍
2013/06/17 PHP
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
PHP+Apache+Mysql环境搭建教程
2016/08/01 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
在Laravel的Model层做数据缓存的实现
2019/09/26 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
JS解析json数据并将json字符串转化为数组的实现方法
2012/12/25 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
jQuery+Ajax实现用户名重名实时检测
2017/06/01 jQuery
详谈构造函数加括号与不加括号的区别
2017/10/26 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
2019/12/20 jQuery
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
2020/11/05 Javascript
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
Python实现的爬取百度文库功能示例
2019/02/16 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
2019/06/19 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
python cv2在验证码识别中应用实例解析
2019/12/25 Python
护理专业自荐信
2013/12/03 职场文书
挂职思想汇报
2013/12/31 职场文书
保险经纪人求职信
2014/03/11 职场文书
大学生心理活动总结
2014/07/04 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
检讨书模板大全
2015/05/07 职场文书
2016年中学植树节活动总结
2016/03/16 职场文书
Nginx访问日志及错误日志参数说明
2021/03/31 Servers
springboot读取resources下文件的方式详解
2022/06/21 Java/Android