jQuery日期弹出选择框Datepicker效果

摘要:
日期将自动填充到输入框中(Input值的背景读数与通过手动输入获得的值之间没有差异)。查看演示DatePicker下载实例DemoRarTips:如何使用它以及您需要了解的个性化假设。我们需要将日期选择框绑定到文本输入框input(input的ID分别为“leavedate”和“returndate”),格式如下HTML代码:form ID=“trip”action=“#”>

无论你是一个机票在线预定网站设计师,还是一个工程任务管理者,抑或在你的注册表单上有个生日填写项目;本文即将提到的日历日期选择弹出窗口都将帮助你简化用户操作,提高网站的用户体验和易用性。

教程目标:教会大家如何jQuery的UI插件Datepicker通过短短几行JavaScript代码制作一个日期选择弹出窗口,当用户在弹出的日期选择框中选择一个日期后,该日期会自动填充到Input框中(INPUT中值的后台读取与手动输入所获得的值没有任何区别)。

本教程日期选择弹出窗口最终效果:

查看Datepicker日期选择弹出窗口的演示

你也可以在线查看代码吾爱给大家制作的在线演示和实例下载:

查看演示DatePicker

下载实例Demo Rar

Tips:此UI插件由代码吾爱进行汉化,如果有任何问题请大家在本文底部反馈。推荐大家下载我们提供的实例包,里面包含完整的jQuery.js和datepicker插件JS文件以及一个完整的示例。

使用方法与个性化设置

你需要知道的

假设我们需要在如下HTML代码中的文本输入框INPUT上(ID分别为"leavedate"和"returndate"的INPUT)绑定一个日期选择框:

  1. <form id="trip" action="#">  
  2.   <fieldset>  
  3.     <legend>旅行期限(传统日期格式)</legend>  
  4.           <div class="fields">  
  5.               <div><label for="leavedate">出发日期:</label>    
  6.                    <input type="text" id="leavedate" name="leavedate"/>  
  7.               </div>  
  8.               <div><label for="returndate">返回日期:</label>  
  9.                    <input type="text" id="returndate" name="returndate"/>  
  10.                </div>  
  11.              </div>        
  12.   </fieldset>  
  13. </form>  

要实现这一目标,你首先应该在jQuery官方UI页面中下载Datepicker插件(推荐下载本页提供的实例包),然后与jQuery基库同时以外部链接的形式引入到你需要用到此功能页面的<head>标签区域中。如下:

<script language="JavaScript" src="http://t.zoukankan.com/jquery.js"></script>
<script language="JavaScript" src="http://t.zoukankan.com/jq.date.js"></script>

Tips:请注意,你需要首先引入jQuery基库(即jquery.js),然后才是jq.date.js文件。

使用Datepicker制作弹出日期框,不需要对原有HTML页面做任何形式的修改,因为它是以JavaScript的DOM形式动态绑定到INPUT标签上的。要实现将弹出框与上面实例中的文本输入框INPUT绑定,一行代码即可完成:

$('#trip input#leavedate').datepicker();

Tips:如果你需要在实例的基础上进行修改,编写JS语句时请注意每个DIV层和INPUT空间ID的名称。

初始的日期选择效果是相当难看的,而且也非常不实用;我们需要进行美化和修改:

Standard date picker

个性化设置

Datepicker的真正强大之处是它支持设计者按照自己的需求自行设置。我们将以三个步骤告诉大家如何对其进行自定义。

CSS样式自定义:

首先,我们需要给日期弹窗的表现样式进行美化,以便能更好的融入到我们的实际运用中。jQuery本身提供给我们针对Datepicker的很多CSS日历样式,你可以选择使用其中的样式,当然也可以自行编辑合适的CSS样式文件。

本例中的弹窗框日历样式为jQuery提供的默认皮肤样式之一,日历截图如下:

jQuery日期弹出选择框Datepicker效果第3张

日期格式自定义:

我们可以在初始化函数.datepicker()中定义各种日期格式,以下为一些常用日期格式:

  1. //yy表示完整年份:2008。y表示简写年份:08   
  2. //mm表示单月补零:01。m表示简写月份:1   
  3. //dd表示单日补零:09。d表示简写:9   
  4. $('#trip input#leavedate').datepicker({ dateFormat: $.datepicker.W3C }); // 2008-01-31   
  5. $('#trip input#leavedate').datepicker({ dateFormat: 'yy年m月d日' }); // 2008年1月31日   
  6. $('#trip input#leavedate').datepicker({ dateFormat: 'yy/m/d'' }); // 2008/1/31   
  7. $('#trip input#leavedate').datepicker({ dateFormat: 'y/m/d' }); // 08/1/31   
  8. $('#trip input#leavedate').datepicker({ dateFormat: 'yy年m月d日,D' }); //2008年1月31日,星期一   
  9. //代码吾爱www.code52.net   
  10.       

如上例所示,你可以根据自己的需要任意修改日期格式;比如在年月日之间以汉字、斜线、空格、短横杠间隔。

用户在选择日期后,对应的输入框会出现我们定义格式的日期。

jQuery日期弹出选择框Datepicker效果第4张

表现行为自定义:

最后一个可以自定义的地方是弹出框表现行为。默认情况下,日期选择框会在用户点击输入框时触发弹出(即在输入框的Focus事件发生时触发)。

我们可以很简单的改变这种模式,如演示所示,我们将弹出框的触发绑定在了一个按钮图片上,而没有采用默认的行为模式:

  1. //showOn值为button表示将日历框绑定在一个按钮(图片)上;   
  2. //buttonImage的值表示图片文件的名称和位置(请注意路径)   
  3. //如果不需要显示按钮而只显示图片,请置buttonImageOnly的值为True。   
  4. $('#trip input#leavedate').datepicker({ showOn: 'button', buttonImage: 'calendar.gif', buttonImageOnly: true });   

通过以上对Datepicker进行自定义,我们即成功完成了演示中的那种效果。

免责声明:文章转载自《jQuery日期弹出选择框Datepicker效果》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇进阶攻略|前端最全的框架总结【操作系统之十二】分支预测、CPU亲和性(affinity)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[转载]Shell删除各种注释的脚本

转自:http://www.cppblog.com/zhangyq/archive/2010/10/08/127915.html 1.txt内容:file content  aabbcc<<<comment part 1abcdefghilkdifdfdfmmmmmmmmeeeeeeeeeeeeee  comment part 2>...

23.Android之颜色码制表

在Android应用开发中经常要用各种控件,并为控件设置其背景颜色,今天总结下颜色制表。 Android中146种颜色对应的XML值: 1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 <color name="white">#FFFFF...

ScrollView的顶部下拉和底部上拉回弹效果

要实现ScrollView的回弹效果,需要对其进行触摸事件处理。先来看一下简单的效果: 根据Android的View事件分发处理机制,下面对dispatchTouchEvent进行详细分析: 在加载布局完成之后,获取ScrollView的第一个子元素,保存它的参数,left top right bottom参数,根据顶部下拉操作和底部上拉操作进行子Vie...

ionic + cordova+angularJs 搭建的H5 App完整版总结

   为期半个月的项目实践开发,已完整告一段落,团队小组获得第一名,辛苦总算没有白费,想起有一天晚上,整个小组的人,联调到12点才从公司回去,真是心酸。这里总结一下,项目过程中遇到的问题 和感悟。哈哈,放张集体照。嘿嘿,项目所有的不同的team的小伙伴,一群优秀的小伙伴(大多都来自高校211,985)么么哒.下面介绍下我们组的产品和问题。 项目已放在git...

进阶篇-用户界面:6.android studio使用github开源库实现下拉刷新

      说实话,这是我第一次这么正儿八经的用github开源库,之前一直在听一些大神对这个世界级的开源库赞不绝口,今天终于体会到了。由于下拉刷新的类库是在eclipse下开发完成的,而eclipse如何使用如果导入网上的教程都非常详细。昨天我试了半天发现由于自己对android studio还不是很熟悉,所以引用类库的时候发现无从下手。但是今天早晨起来...

vue(初探预渲染)

---恢复内容开始---  一、前言                                                                                                     1、简介预渲染                     2、案例演示(不配置预渲染)                  ...