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 相关文章推荐
js控制页面控件隐藏显示的两种方法介绍
Oct 09 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
Nov 22 Javascript
jquery简单实现鼠标经过导航条改变背景图
Dec 17 Javascript
jquery $(document).ready()和window.onload的区别浅析
Feb 04 Javascript
jquery实现图片上传之前预览的方法
Jul 11 Javascript
jQuery+ajax实现文章点赞功能的方法
Dec 31 Javascript
在JavaScript中call()与apply()区别
Jan 22 Javascript
vue.js根据代码运行环境选择baseurl的方法
Feb 28 Javascript
快速了解vue-cli 3.0 新特性
Feb 28 Javascript
微信小程序动画(Animation)的实现及执行步骤
Oct 28 Javascript
webpack常用构建优化策略小结
Nov 21 Javascript
JavaScript 禁止用户保存图片的实现代码
Apr 28 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函数strip_tags的一个bug浅析
2014/05/22 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
Javascript的构造函数和constructor属性
2010/01/09 Javascript
JQuery操作单选按钮以及复选按钮示例
2013/09/23 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
JavaScript function函数种类详解
2016/02/22 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
three.js实现围绕某物体旋转
2017/01/25 Javascript
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
在vue中使用G2图表的示例代码
2019/03/19 Javascript
js实现删除li标签一行内容
2019/04/16 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
JS实现吸顶特效
2020/01/08 Javascript
JS表格的动态操作完整示例
2020/01/13 Javascript
sharp.js安装过程中遇到的问题总结
2020/04/02 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
[原创]python爬虫(入门教程、视频教程)
2018/01/08 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
Python实现的个人所得税计算器示例
2018/06/01 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
Python调用服务接口的实例
2019/01/03 Python
python画图的函数用法以及技巧
2019/06/28 Python
css3强大的动画效果animate使用说明及浏览器兼容介绍
2013/01/09 HTML / CSS
Feelunique澳大利亚:欧洲的化妆品零售电商
2019/12/18 全球购物
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
2014/07/11 面试题
日期和时间问题
2015/01/04 面试题
实习老师个人总结的自我评价
2013/09/28 职场文书
普通院校学生的自荐信
2013/11/27 职场文书
技术负责人任命书
2014/06/05 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android