zoukankan      html  css  js  c++  java
  • jquery datepicker-强大的日期控件

         在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();

    显示的效果:

    date1
            简单吧,只需这一句就能弹出日期选择器。代码中的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
    });

    显示的效果:

    date2
        是不是相比以前的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);  }
    });

    显示效果:

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

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

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

  • 相关阅读:
    数据库查询服务框架
    postgresql清理工具
    postgre索引
    SAP模块一句话入门(专业术语的理解)
    SAP订单结算详解
    SAP Datasheet
    ASP.NET MVC5 网站开发实践
    VMware S/4 HANA OP 1511虚拟机下载,64G内存限制解决方案
    SAP标准教材列表
    SAP文章链接
  • 原文地址:https://www.cnblogs.com/hongzai/p/3155725.html
Copyright © 2011-2022 走看看