在web开发中,总会遇到需要用户输入日期的情况。一般都是提供一个text类型的input供用户输入日期。然而,这种方式,开发人员必须对用户输入的日期进行验证,判断其合法性。除此之外,让用户输入日期也是一件不爽的事,如果用户可以直接选择日期,这两个问题都解决了。

         我们也可以自己用javascript写一个日期选择控件,然而,想要写的很好、很漂亮却需要花不少时间和精力。jQuery有一个UI插件: datepicker ,可以帮我们实现该功能,而且界面很漂亮。下面就学学如何使用它吧。
         datepicker  插件是jQuery UI的一个插件,它提供一个日期弹出窗口(或直接显示在页面),供用户选择日期。
 
         前提条件
  • 导入jquery-1.7.2.js  ,也可以是其它版本。我做的demo是这个
  • 导入jquery-ui.js,也可以直接指向http://code.jquery.com/ui/1.10.2/jquery-ui.js 这个地址。前提是要有网络。
  • 添加对中文的支持-jquery.ui.datepicker-zh-CN.js,如果没有这个文件,显示英文版。
  • 导入jquery-ui.css,样式表也可以自定义。
        最简单的用法
 
        如果仅仅只需要输入日期,那么一句话就搞定了。如:
1
$("#date").datepicker();

显示的效果:

        简单吧,只需这一句就能弹出日期选择器。代码中的date为页面中input的id。如果我们想做的更加人性化,显然这一句就不够了。比如这个日期选择器只能按月翻,不能直接选择年份和月份。还有很多方面就不一一列举了。下面对datepicker的常用属性做个说明。
 
    常用属性
    
    changeYear : true                  //允许选择年份,默认为false
    changeMonth : true             //允许选择月份,默认为false
    numberOfMonths : 1           //显示的日期面板个数,默认为1
    showButtonPanel: true       //是否显示按钮面板(两个按钮:回到今天、关闭),默认为false。
    showOn:’button’                 //在输入框旁边显示按钮触发,默认为:focus,还可以设置为both。
    showClearButton:true        //是否显示清除按钮,有的版本可能没有提供清除按钮。
 
    为了让datepicker更加生动,我在demo中加了一些属性。代码为:
1
2
3
4
5
6
$("#date").datepicker({
changeYear : true,
changeMonth : true,
numberOfMonths : 1,
showButtonPanel: true
});

显示的效果:

    是不是相比以前的datepicker要好看一点呢,既能选择年份,还能选择月份,多方便呀。有的时候可能会遇到这样的问题。导入国际化语言包后,同时启用changeYear和changeMonth,会发现两个select都在都一列显示了。原因是juqery-ui.css造成的,原来这个文件中有这么一段:
1
2
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 49%;}
    把这个width的比例改成45%就能正常显示了。
    当然官网上还有更多属性供大家选择。地址为:http://jqueryui.com/demos/datepicker/ ,根据自己需要,自行选择。
 
    常用方法
 
        最常用的可能是onSelect方法了,这种情况是很常见的,比如页面有两个日期,开始时间和结束时间。很明显的道理,开始时间不能大于结束时间。onSelect方法可以为我们省去判断。代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$("#date1").datepicker({
changeYear : true,
changeMonth : true,
numberOfMonths : 1,
showButtonPanel: true,
onSelect : function(selectedDate) {
$("#date2").datepicker("option", "minDate", selectedDate);  }
});
 
$("#date2").datepicker({
changeYear : true,
changeMonth : true,
numberOfMonths : 1,
showButtonPanel: true,
onSelect : function(selectedDate) {
$("#date1").datepicker("option", "maxDate", selectedDate);  }
});

显示效果:

           如果开始时间选择了 2012-05-09,结束时间就不能选择之前的日期了。我做的demo都是比较简单的,更多功能可以去jquery UI的官网上看看。
           通过上面的例子,可以看出datepicker是一款不错的日期选择器,使用方便,容易上手,官网还提供了很多美观的皮肤。你值得拥有!
    

原创文章,转载请注明: 转载自java开发者

本文链接地址: jquery datepicker-强大的日期控件

jquery datepicker-强大的日期控件的更多相关文章

  1. jsp日期插件My97DatePicker 强大的日期控件 使用方便简单

    本文属转载(希望对编程爱好者有所帮助)详情请访问官方网站 http://www.my97.net/dp/index.asp 一. 简介 1. 简介 目前的版本是:4.7 2. 注意事项 My97Dat ...

  2. jsp日期插件My97DatePicker 强大的日期控件 使用方便简单(转)

    本文属转载(希望对编程爱好者有所帮助)详情请访问官方网站 http://www.my97.net/dp/index.asp 一. 简介 1. 简介 目前的版本是:4.7 2. 注意事项 My97Dat ...

  3. JQuery EasyUI 扩展方法 日期控件 设置时间段函数

    /** Jquery扩展方法--by hgx 2018年1月8日-- * 设置时间段函数,开始时间(1号)与结束时间(当前日期) * 传入参数:--spaceMonth:查询间隔月,1为间隔查询一个月 ...

  4. jQuery Datepicker日期控件

    datepicker可以为bootstrap添加一个事件选择控件,适用于任何需要调用的场合,支持多种事件格式输出(比如:dd, d, mm, m, yyyy, yy等),是制作网页不可缺失的插件. R ...

  5. JQuery datepicker 日期控件设置

    datepicker控件可通过参数设置进行语言切换,以下可实现,系统所有日期控件默认为中文,在特定页面或者特定条件下可切换成英语!~ HTML: <!DOCTYPE html> <h ...

  6. jQuery里面的datepicker日期控件默认是显示英文的,如何显示中文或其他语言呢?

    jQuery里面的datepicker日期控件默认是显示英文的,如何让他显示中文或其他呢? [官方的写法]: (1)引入JS文件: <script type="text/javascr ...

  7. jQuery UI 日期控件--datepicker

    在web开发中,日期的输入经常会遇到.我们会用的解决方法有: 1.自己写css和js,对日期进行控制:----有点浪费精力和时间: 2.用easyui插件中的日期插件来实现: 3.用juqery-ui ...

  8. 【前端控件】JQuery datepicker 日期控件设置

    datepicker控件可通过参数设置进行语言切换,以下可实现,系统所有日期控件默认为中文,在特定页面或者特定条件下可切换成英语!~ HTML: <!DOCTYPE html> <h ...

  9. 精确到秒的JQuery日期控件

    项目中需要用到精确到秒的日期控件,到网上搜了一下,发现有一个JQuery控件可以实现该功能---TimerPicker.但是官网上没有提供该控件的完整Demo,而且没有提供汉化包,所以自己汉化了一下, ...

随机推荐

  1. [转载]非常完善的Log4net详细说明

    前言 此篇文章是我见过写得最好的一片关于Log4Net的文章,内容由简入难,而且面面俱到,堪称入门和精通的佳作,特从懒惰的肥兔的转载过来. 1.概述 log4net是.Net下一个非常优秀的开源日志记 ...

  2. 不用安装语言包,教你将PS界面语言修改成默认语言(英语)

    地址:http://www.cnblogs.com/Loonger/p/5112020.html 嗯,干脆利落,直接上教程.超简单的方法.(该方法可以随时在你已有语言[非英语]和PS默认语言[英语]之 ...

  3. 1293: [SCOI2009]生日礼物 - BZOJ

    Description 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有N个,分为K种.简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置).某些坐标上可以没有彩珠,但多个彩 ...

  4. hadoop 技巧

    通过--config指定不同的集群 bin/hadoop --config ./conf_time/ dfs -ls /user/rd/*/for_*/ip_table/output/ rd下是都读写 ...

  5. PHP创建XML文件讲解

    <?php   #code by coder_apex 2007-6-15   #自动生成一个如下的XML文件   #   #       <?xml version="1.0& ...

  6. 时序列数据库武斗大会之TSDB名录 Part 2

    [编者按] 刘斌,OneAPM后端研发工程师,拥有10多年编程经验,参与过大型金融.通信以及Android手机操作系的开发,熟悉Linux及后台开发技术.曾参与翻译过<第一本Docker书> ...

  7. C# 知识笔记

    HttpContext.Request.Form.ToString() 获取Form表单中的内容 /// <summary> /// 获取 GET 提交方式值 /// </summa ...

  8. Project Euler 90:Cube digit pairs 立方体数字对

    Cube digit pairs Each of the six faces on a cube has a different digit (0 to 9) written on it; the s ...

  9. [wikioi]线段树练习

    http://codevs.cn/problem/1080/ #include <vector> #include <iostream> #include <string ...

  10. 转载CSDN (MVC WebAPI 三层分布式框架开发)

    前言:SOA(面向服务的架构)是目前企业应用开发过程中普遍采用的技术,基于MVC WebAPI三层分布式框架开发,以此适用于企业信息系统的业务处理,是本文论述的重点.此外,插件技术的应用,富客户端JQ ...