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 相关文章推荐
javascript 跳转代码集合
Dec 03 Javascript
理解Javascript_02_理解undefined和null
Oct 11 Javascript
用js小类库获取浏览器的高度和宽度信息
Jan 15 Javascript
jquery如何通过name名称获取当前name的value值
Dec 20 Javascript
JS+CSS实现带小三角指引的滑动门效果
Sep 22 Javascript
javascript禁止超链接跳转的方法
Feb 02 Javascript
详解用node搭建简单的静态资源管理器
Aug 09 Javascript
Node.js中环境变量process.env的一些事详解
Oct 26 Javascript
js实现动态增加文件域表单功能
Oct 22 Javascript
详解javascript对数组和json数组的操作
Apr 15 Javascript
js实现带搜索功能的下拉框
Jan 11 Javascript
JavaScript十大取整方法实例教程
Dec 03 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
Zerg基本策略
2020/03/14 星际争霸
php中调用其他系统http接口的方法说明
2014/02/28 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
js+csss实现的一个带复选框的下拉框
2014/09/29 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
详解支持Angular 2的表格控件
2017/01/19 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
详解用vue.js和laravel实现微信支付
2017/06/23 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
详解微信小程序获取当前时间及日期的方法
2019/04/28 Javascript
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
Javascript操作select控件代码实例
2020/02/14 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
[45:52]2018DOTA2亚洲邀请赛 4.1小组赛 A组加赛 LGD vs Liquid
2018/04/02 DOTA
python处理csv数据的方法
2015/03/11 Python
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
Python实现简单网页图片抓取完整代码实例
2017/12/15 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
在Pytorch中使用样本权重(sample_weight)的正确方法
2019/08/17 Python
Python随机数函数代码实例解析
2020/02/09 Python
Python使用qrcode二维码库生成二维码方法详解
2020/02/17 Python
超级实用的8个Python列表技巧
2020/08/24 Python
倩碧英国官网:Clinique英国
2018/08/10 全球购物
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
美国一站式电动和手动工具商店:International Tool
2020/11/26 全球购物
经理秘书岗位职责
2013/11/14 职场文书
教师对学生的评语
2014/04/28 职场文书
雷人标语集锦
2014/06/19 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
2014年社区综治工作总结
2014/11/17 职场文书
订货会主持词
2015/07/01 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
python 使用pandas读取csv文件的方法
2022/12/24 Python