首页IT科技excel2013日期选择器(日期选择器:jquery datepicker的使用)

excel2013日期选择器(日期选择器:jquery datepicker的使用)

时间2025-05-01 12:13:39分类IT科技浏览3255
导读:在jquery ui中,提供了一个非常实用的日期选择器:datepicker,使用它能非常方便的展现日历中的日期,灵活配置相关选项,包括日期格式、范围等。我们经常在WEB应用中用到datepicker,比如要求用户输入日期进行相关查询的。我们很早之前就应用datepicker到很多项目中,今天整理成文与大家分享。...

在jquery ui中        ,提供了一个非常实用的日期选择器:datepicker                 ,使用它能非常方便的展现日历中的日期     ,灵活配置相关选项      ,包括日期格式            、范围等            。我们经常在WEB应用中用到datepicker                ,比如要求用户输入日期进行相关查询的             。我们很早之前就应用datepicker到很多项目中        ,今天整理成文与大家分享     。

demo http://www.helloweba.com/demo/datepicker/

download http://www.helloweba.com/demo/downzip/datepicker.rar

查看演示DEMO下载源码

查看演示DEMO下载源码

准备工作

首先请到jqueryui.com官网下载datepicker插件代码    ,注意官网提供了整个jquery ui的所有插件下载               ,但是您可以选择其中几个用到的插件下载           ,本文中只用到datepicker  ,所以只选择下载jquery ui核心代码和datepicker代码         。你可以直接点击本文上面的Download下载按钮下载demo源码包              ,其中就包括了datepicker插件源码              。

HTML

首先在head之间引入jquery库文件和datepicker插件以及相关css       。

  <script type="text/javascript" src="js/jquery.js"></script>  <script type="text/javascript" src="js/jquery-ui-datepicker.js"></script>  <link rel="stylesheet" type="text/css" href="css/jquery-ui.css" /> 

然后在body间加入一个输入框      。

  <input type="text" id="date_1" /> 

Javscript

调用datepicker非常简单              ,直接使用以下代码就可以实现:

  $(function(){      $("#date_1").datepicker();  }); 

这样,单击输入框的时候会自动弹出一个日期选择器           ,选中日期后                 ,自动关闭选择器  ,并在输入框中显示选中的日期               。

选项及事件使用说明

datepicker提供了丰富的选项设置事件方法调用        ,笔者先将经常用到的相关属性和方法整理成表格                 ,方便查询和使用         。

选项 描述 默认值 altField 将选择的日期同步到另一个域中     ,配合altFormat可以显示不同格式的日期字符串   。demo altFormat 当设置了altField的情况下      ,显示在另一个域中的日期格式                。 appendText 在日期插件的所属域后面添加指定的字符串           。 buttonImage 设置可以用来点击弹出日历的按钮图片                ,如果非空        ,则按钮的文本将成为alt属性    ,不直接显示。demo buttonImageOnly 设置为true时               ,图片将作为按钮可以点击触发弹出日历 false buttonText 设置触发按钮的文本内容              。 ... changeMonth 设置是否允许通过下拉框列表选取月份             。 false changeYear 设置是否允许通过下拉框列表选取年份   。 false closeText 设置关闭按钮的文本内容           ,此按钮需要通过showButtonPanel参数的设置才显示            。 Done constrainInput 如果设置为true  ,则约束当前输入的日期格式             。 true currentText 设置当天按钮的文本内容              ,此按钮需要通过showButtonPanel参数的设置才显示     。 Today dateFormat 设置日期字符串的显示格式         。demo mm/dd/yy dayNames 设置一星期中每天的名称              ,从星期天开始              。此内容用于dateFormat时显示,以及日历中当鼠标移至行头时显示       。 [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday] dayNamesMin 设置一星期中每天的缩语           ,从星期天开始                 ,此内容用于dateFormat时显示  ,以前日历中的行头显示      。 [Su, Mo, Tu, We, Th, Fr, Sa] dayNamesShort 设置一星期中每天的缩语        ,从星期天开始                 ,此内容用于dateFormat时显示     ,以前日历中的行头显示               。 [Sun, Mon, Tue, Wed, Thu, Fri, Sat] defaultDate 设置默认加载完后第一次显示时选中的日期         。可以是Date对象      ,或者是数字(从今天算起                ,例如+7)        ,或者有效的字符串(y代表年, m代表月, w代表周, d代表日, 例如:+1m +7d)   。 null duration 设置日期控件展开动画的显示时间    ,可选是"slow", "normal", "fast"               ,代表立刻           ,数字代表毫秒数                。 normal firstDay 设置一周中的第一天           。星期天为0  ,星期一为1              ,以此类推。 0 gotoCurrent 如果设置为true              ,则点击当天按钮时,将移至当前已选中的日期           ,而不是今天              。 false hideIfNoPrevNext 设置当没有上一个/下一个可选择的情况下                 ,隐藏掉相应的按钮             。 false isRTL 如果设置为true  ,则所有文字是从右自左   。 false maxDate 设置一个最大的可选日期            。可以是Date对象        ,或者是数字(从今天算起                 ,例如+7)     ,或者有效的字符串(y代表年, m代表月, w代表周, d代表日, 例如:+1m +7d)             。demo null minDate 设置一个最小的可选日期     。可以是Date对象      ,或者是数字(从今天算起                ,例如+7)        ,或者有效的字符串(y代表年, m代表月, w代表周, d代表日, 例如:+1m +7d)         。 null monthNames 设置所有月份的名称              。 [January, February, March, April, May, June, July, August, September, October, November, December] monthNamesShort 设置所有月份的缩写       。 [Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec] navigationAsDateFormat 如果设置为true    ,则formatDate函数将应用到 prevText,nextText和currentText的值中显示               ,例如显示为月份名称      。 false nextText 设置“下个月            ”链接的显示文字               。 Next numberOfMonths 设置一次要显示多少个月份         。如果为整数则是显示月份的数量           ,如果是数组  ,则是显示的行与列的数量   。demo 1 prevText 设置“上个月             ”链接的显示文字                。 Prev shortYearCutoff 设置截止年份的值           。如果是(0-99)的数字则以当前年份开始算起              ,如果为字符串              ,则相应的转为数字后再与当前年份相加。当超过截止年份时,则被认为是上个世纪              。 +10 showAnim 设置显示             、隐藏日期插件的动画的名称             。 show showButtonPanel 设置是否在面板上显示相关的按钮   。 false showCurrentAtPos 设置当多月份显示的情况下           ,当前月份显示的位置            。自顶部/左边开始第x位             。 0 showMonthAfterYear 是否在面板的头部年份后面显示月份     。 false showOn 设置什么事件触发显示日期插件的面板                 ,可选值:focus, button, both focus showOptions 如果使用showAnim来显示动画效果的话  ,可以通过此参数来增加一些附加的参数设置         。 {} showOtherMonths 是否在当前面板显示上     、下两个月的一些日期数(不可选)              。 false stepMonths 当点击上/下一月时        ,一次翻几个月       。 1 yearRange 控制年份的下拉列表中显示的年份数量                 ,可以是相对当前年(-nn:+nn)     ,也可以是绝对值 (-nnnn:+nnnn) -10:+10 beforeShow 在日期控件显示面板之前      ,触发此事件                ,并返回当前触发事件的控件的实例对象      。 function(input) beforeShowDay 在日期控件显示面板之前        ,每个面板上的日期绑定时都触发此事件    ,参数为触发事件的日期               。调用函数后               ,必须返回一个数组:[0]此日期是否可选(true/false)           ,[1]此日期的CSS样式名称(""表示默认)  ,[2]当鼠标移至上面出现一段提示的内容         。 function(date) onChangeMonthYear 当年份或月份改变时触发此事件              ,参数为改变后的年份月份和当前日期插件的实例   。 function(year, month, inst) onClose 当日期面板关闭后触发此事件(无论是否有选择日期)              ,参数为选择的日期和当前日期插件的实例                。demo function(dateText, inst) onSelect 当在日期面板选中一个日期后触发此事件,参数为选择的日期和当前日期插件的实例           。 function(dateText, inst)

http://www.jb51.net/article/27184.htm

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

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

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

    完全GUI般的用户体验  ,炫目的动态展现效果              ,精确的日期控制和高度的灵活的参数配置              ,这一切使得datepicker受到众多开发者的青睐,其中包括大名鼎鼎的google           ,在其google calendar项目中就使用了这个脚本                 ,有兴趣可以去看看   。顺便啰嗦一句  ,上图的默认效果        ,在javascript中                 ,用户只需写一句话就可以实现了     ,怎么样      ,心动了吧                ,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>

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
uniapp下拉框(【uniapp】页面下拉刷新) 促销活动软文范例(促销软文能否真正促进销量,促销软文如何撰写才能吸引消费者)