UI/API/1.7/Datepicker

jQuery UI Datepicker

概述

jQuery UI Datepicker是一个高效的为您的页面添加日期的插件. 你可以自定义日期格式和语言, 您可以限制可选择的日期范围,可以轻易的将事件添加到按钮或者其他的选项中.

默认情况下, datepicker calendar 在onFocus上打开并且自动在选择日期触发onBlur后关闭. 如果要添加一个内置的calendar, 只需要在div或者span上调用datepicker即可.

您可以使用键盘或者快捷键操作datepicker:

  • page up/down - 上个月/下个月
  • ctrl+page up/down - 去年/明年
  • ctrl+home - 当前月或者在关闭时打开
  • ctrl+left/right - 昨天/明天
  • ctrl+up/down - 上周/下周
  • enter - 选择当前日期
  • ctrl+end - 关闭和删除日期
  • escape - 关闭datepicker不进行任何选择

其他附加文件

  • UI Core

示例

一个简单的 jQuery UI Datepicker.

$("#datepicker").datepicker();

<!DOCTYPE html>
<html>
<head>
  <link type="text/css" href="themes/base/ui.all.css" rel="stylesheet" />
  <script type="text/javascript" src="js/jquery.min.js"></script>
  <script type="text/javascript" src="ui/ui.core.js"></script>
  <script type="text/javascript" src="ui/ui.datepicker.js"></script>
  <script type="text/javascript">
  $(document).ready(function(){
    $("#datepicker").datepicker();
  });
  </script>
</head>
<body style="font-size:62.5%;">
  
<div type="text" id="datepicker"></div>

</body>
</html>

参数

  • altField

    类型:
    String
    默认值:
    ''

    使用jQuery selector选择的另一个地方更新datepicker选择的日期. 使用altFormat 指定的这一区域设置如下改变格式的日期(使用input最直观). 如果没有代替的区域则使用空白.

    代码示例

    使用指定的altField参数初始化一个datepicker.
    $('.selector').datepicker({ altField: '#actualDate' });
    在初始化后设置或者获取altField参数.
    //获取
    var altField = $('.selector').datepicker('option', 'altField');
    //设置
    $('.selector').datepicker('option', 'altField', '#actualDate');
  • altFormat

    类型:
    String
    默认值:
    ''

    dateFormataltField 项所使用. 它允许用户选择一种日期格式, 而实际的格式则是来自后台.

    代码示例

    使用指定的altFormat参数初始化一个datepicker.
    $('.selector').datepicker({ altFormat: 'yy-mm-dd' });
    在初始化后设置或者获取altFormat参数.
    //获取
    var altFormat = $('.selector').datepicker('option', 'altFormat');
    //设置
    $('.selector').datepicker('option', 'altFormat', 'yy-mm-dd');
  • appendText

    类型:
    String
    默认值:
    ''

    这些文字显示在每一个日期段, 例. 显示所需的格式.

    代码示例

    使用指定的appendText参数初始化一个datepicker.
    $('.selector').datepicker({ appendText: '(yyyy-mm-dd)' });
    在初始化后设置或者获取appendText参数.
    //获取
    var appendText = $('.selector').datepicker('option', 'appendText');
    //设置
    $('.selector').datepicker('option', 'appendText', '(yyyy-mm-dd)');
  • buttonImage

    类型:
    String
    默认值:
    ''

    弹出按钮的图片url地址. 如果设置了此参数, 按钮的text将变成alt属性而不是直接显示.

    代码示例

    使用指定的buttonImage参数初始化一个datepicker.
    $('.selector').datepicker({ buttonImage: '/images/datepicker.gif' });
    在初始化后设置或者获取buttonImage参数.
    //获取
    var buttonImage = $('.selector').datepicker('option', 'buttonImage');
    //设置
    $('.selector').datepicker('option', 'buttonImage', '/images/datepicker.gif');
  • buttonImageOnly

    类型:
    Boolean
    默认值:
    false

    设置为true将会在field后出现一个图片用来触发日期选择,没有的话将使用按钮触发.

    代码示例

    使用指定的buttonImageOnly参数初始化一个datepicker.
    $('.selector').datepicker({ buttonImageOnly: true });
    在初始化后设置或者获取buttonImageOnly参数.
    //获取
    var buttonImageOnly = $('.selector').datepicker('option', 'buttonImageOnly');
    //设置
    $('.selector').datepicker('option', 'buttonImageOnly', true);
  • buttonText

    类型:
    String
    默认值:
    '...'

    触发按钮上显示的文字. 在 showOn 等于 'button' or 'both'时使用.

    代码示例

    使用指定的buttonText参数初始化一个datepicker.
    $('.selector').datepicker({ buttonText: 'Choose' });
    在初始化后设置或者获取buttonText参数.
    //获取
    var buttonText = $('.selector').datepicker('option', 'buttonText');
    //设置
    $('.selector').datepicker('option', 'buttonText', 'Choose');
  • calculateWeek

    类型:
    Function
    默认值:
    $.datepicker.iso8601Week

    执行一年中周的计算. 这个函数接受一个日期作为参数并且返回一个表示当前周是一年中的第几周的数字. 默认使用ISO 8601的定义执行: 每周从周一开始每年的第一周包含1月4日. 这意味着今年的第一周中可能会包含去年的3天,并且今年的3天可能会被包含进去年的最后一周中.

    代码示例

    使用指定的calculateWeek参数初始化一个datepicker.
    $('.selector').datepicker({ calculateWeek: MyWeeks });
    在初始化后设置或者获取calculateWeek参数.
    //获取
    var calculateWeek = $('.selector').datepicker('option', 'calculateWeek');
    //设置
    $('.selector').datepicker('option', 'calculateWeek', MyWeeks);
  • changeFirstDay

    类型:
    Boolean
    默认值:
    true

    允许你选择一个日期的名字作为每周的起点. 你可以通过将参数设置为false来禁用此功能.

    代码示例

    使用指定的changeFirstDay参数初始化一个datepicker.
    $('.selector').datepicker({ changeFirstDay: false });
    在初始化后设置或者获取changeFirstDay参数.
    //获取
    var changeFirstDay = $('.selector').datepicker('option', 'changeFirstDay');
    //设置
    $('.selector').datepicker('option', 'changeFirstDay', false);
  • changeMonth

    类型:
    Boolean
    默认值:
    false

    允许你通过一个下拉菜单来改变当前的月份. 你可以通过将参数设置为false来禁用此功能.

    代码示例

    使用指定的changeMonth参数初始化一个datepicker.
    $('.selector').datepicker({ changeMonth: true });
    在初始化后设置或者获取changeMonth参数.
    //获取
    var changeMonth = $('.selector').datepicker('option', 'changeMonth');
    //设置
    $('.selector').datepicker('option', 'changeMonth', true);
  • changeYear

    类型:
    Boolean
    默认值:
    false

    允许你使用一个下拉菜单来改变当前年. 你可以通过将参数设置为false来禁用此功能.

    代码示例

    使用指定的changeYear参数初始化一个datepicker.
    $('.selector').datepicker({ changeYear: true });
    在初始化后设置或者获取changeYear参数.
    //获取
    var changeYear = $('.selector').datepicker('option', 'changeYear');
    //设置
    $('.selector').datepicker('option', 'changeYear', true);
  • closeText

    类型:
    String
    默认值:
    'Close'

    关闭连接显示的文字. 这个属性是一个区域化属性.

    代码示例

    使用指定的closeText参数初始化一个datepicker.
    $('.selector').datepicker({ closeText: 'X' });
    在初始化后设置或者获取closeText参数.
    //获取
    var closeText = $('.selector').datepicker('option', 'closeText');
    //设置
    $('.selector').datepicker('option', 'closeText', 'X');
  • constrainInput

    类型:
    Boolean
    默认值:
    true

    输入栏限制为当前的日期格式时为true.

    代码示例

    使用指定的constrainInput参数初始化一个datepicker.
    $('.selector').datepicker({ constrainInput: false });
    在初始化后设置或者获取constrainInput参数.
    //获取
    var constrainInput = $('.selector').datepicker('option', 'constrainInput');
    //设置
    $('.selector').datepicker('option', 'constrainInput', false);
  • currentText

    类型:
    String
    默认值:
    'Today'

    今天链接显示的文字. 这个属性是一个区域化属性.

    代码示例

    使用指定的currentText参数初始化一个datepicker.
    $('.selector').datepicker({ currentText: 'Now' });
    在初始化后设置或者获取currentText参数.
    //获取
    var currentText = $('.selector').datepicker('option', 'currentText');
    //设置
    $('.selector').datepicker('option', 'currentText', 'Now');
  • dateFormat

    类型:
    String
    默认值:
    'mm/dd/yy'

    描述和显示日期的格式. 这个属性是一个区域化属性. 所有可能格式的列表请参看 formatDate .

    代码示例

    使用指定的dateFormat参数初始化一个datepicker.
    $('.selector').datepicker({ dateFormat: 'yy-mm-dd' });
    在初始化后设置或者获取dateFormat参数.
    //获取
    var dateFormat = $('.selector').datepicker('option', 'dateFormat');
    //设置
    $('.selector').datepicker('option', 'dateFormat', 'yy-mm-dd');
  • dayNames

    类型:
    Array
    默认值:
    ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']

    列表中长日期的名字, 从周日开始(Sunday), 依照dateFormat的设置进行使用. 他们还在悬停在相应的列标题时弹出提示. 这个属性是一个区域化属性.

    代码示例

    使用指定的dayNames参数初始化一个datepicker.
    $('.selector').datepicker({ dayNames: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'] });
    在初始化后设置或者获取dayNames参数.
    //获取
    var dayNames = $('.selector').datepicker('option', 'dayNames');
    //设置
    $('.selector').datepicker('option', 'dayNames', ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi']);
  • dayNamesMin

    类型:
    Array
    默认值:
    ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']

    这个是日期最小化的简称, 从周日开始(Sunday), 用在datepicker每列的头部. 这个属性是一个区域化属性.

    代码示例

    使用指定的dayNamesMin参数初始化一个datepicker.
    $('.selector').datepicker({ dayNamesMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'] });
    在初始化后设置或者获取dayNamesMin参数.
    //获取
    var dayNamesMin = $('.selector').datepicker('option', 'dayNamesMin');
    //设置
    $('.selector').datepicker('option', 'dayNamesMin', ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa']);
  • dayNamesShort

    类型:
    Array
    默认值:
    ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']

    日期名称的简写列表, 从周日开始(Sunday), 依照dateFormat的设置使用. 这个属性是一个区域化属性.

    代码示例

    使用指定的dayNamesShort参数初始化一个datepicker.
    $('.selector').datepicker({ dayNamesShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'] });
    在初始化后设置或者获取dayNamesShort参数.
    //获取
    var dayNamesShort = $('.selector').datepicker('option', 'dayNamesShort');
    //设置
    $('.selector').datepicker('option', 'dayNamesShort', ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam']);
  • defaultDate

    类型:
    Date(yyyy, mm - 1, dd), Number, String
    默认值:
    null

    如果内容为空时设置第一次打开时显示的日期. 通过date对象指定一个实际的日期, 或者一个和今天对比的数字 (例如. +7) 或者一个连续的字符串值('y' 表示年, 'm' 表示月, 'w'表示周, 'd'表示日, 例如. '+1m +7d'), 或者为空则是今天.

    代码示例

    使用指定的defaultDate参数初始化一个datepicker.
    $('.selector').datepicker({ defaultDate: +7 });
    在初始化后设置或者获取defaultDate参数.
    //获取
    var defaultDate = $('.selector').datepicker('option', 'defaultDate');
    //设置
    $('.selector').datepicker('option', 'defaultDate', +7);
  • duration

    类型:
    String, Number
    默认值:
    'normal'

    控制datepicker出现的速度, 可以是一个毫秒值, 也可以使用以下的三种字符值来表示("slow", "normal", "fast"), 或者为 ''则马上显示.

    代码示例

    使用指定的duration参数初始化一个datepicker.
    $('.selector').datepicker({ duration: 'slow' });
    在初始化后设置或者获取duration参数.
    //获取
    var duration = $('.selector').datepicker('option', 'duration');
    //设置
    $('.selector').datepicker('option', 'duration', 'slow');
  • firstDay

    类型:
    Number
    默认值:
    0

    设置一周中的第一天:周日是 0, 周一是 1, ... 这个属性是一个区域化属性.

    代码示例

    使用指定的firstDay参数初始化一个datepicker.
    $('.selector').datepicker({ firstDay: 1 });
    在初始化后设置或者获取firstDay参数.
    //获取
    var firstDay = $('.selector').datepicker('option', 'firstDay');
    //设置
    $('.selector').datepicker('option', 'firstDay', 1);
  • gotoCurrent

    类型:
    Boolean
    默认值:
    false

    如果设置为true, 当前日的链接将进入当前选中的日期而不是今天.

    代码示例

    使用指定的gotoCurrent参数初始化一个datepicker.
    $('.selector').datepicker({ gotoCurrent: true });
    在初始化后设置或者获取gotoCurrent参数.
    //获取
    var gotoCurrent = $('.selector').datepicker('option', 'gotoCurrent');
    //设置
    $('.selector').datepicker('option', 'gotoCurrent', true);
  • hideIfNoPrevNext

    类型:
    Boolean
    默认值:
    false

    通常当前一个和下一个链接被禁用时不适用 (参看 minDate/maxDate). 你可以通过设置此属性为true完全的隐藏他们.

    代码示例

    使用指定的hideIfNoPrevNext参数初始化一个datepicker.
    $('.selector').datepicker({ hideIfNoPrevNext: true });
    在初始化后设置或者获取hideIfNoPrevNext参数.
    //获取
    var hideIfNoPrevNext = $('.selector').datepicker('option', 'hideIfNoPrevNext');
    //设置
    $('.selector').datepicker('option', 'hideIfNoPrevNext', true);
  • isRTL

    类型:
    Boolean
    默认值:
    false

    如果当前语言是自右向左的则为true. 这个属性是一个区域化属性.

    代码示例

    使用指定的isRTL参数初始化一个datepicker.
    $('.selector').datepicker({ isRTL: true });
    在初始化后设置或者获取isRTL参数.
    //获取
    var isRTL = $('.selector').datepicker('option', 'isRTL');
    //设置
    $('.selector').datepicker('option', 'isRTL', true);
  • maxDate

    类型:
    Date(yyyy, mm - 1, dd), Number, String
    默认值:
    null

    使用Date对象设置一个允许选择的最大日期, 或者指定一个相对于今天的数字(例. +7) 或者一个连续的字符串值('y'表示年, 'm'表示月, 'w'表示周, 'd'表示日, 例. '+1m +1w'), 为空时没有最大值.

    代码示例

    使用指定的maxDate参数初始化一个datepicker.
    $('.selector').datepicker({ maxDate: '+1m +1w' });
    在初始化后设置或者获取maxDate参数.
    //获取
    var maxDate = $('.selector').datepicker('option', 'maxDate');
    //设置
    $('.selector').datepicker('option', 'maxDate', '+1m +1w');
  • minDate

    类型:
    Date(yyyy, mm - 1, dd), Number, String
    默认值:
    null

    使用Date对象设置一个允许选择的最小日期, 或者指定一个相对于今天的数字(例. +7) 或者一个连续的字符串值('y'表示年, 'm'表示月, 'w'表示周, 'd'表示日, 例. '+1m +1w'), 为空时没有最小值.

    代码示例

    使用指定的minDate参数初始化一个datepicker.
    $('.selector').datepicker({ minDate: new Date(2007, 1 - 1, 1) });
    在初始化后设置或者获取minDate参数.
    //获取
    var minDate = $('.selector').datepicker('option', 'minDate');
    //设置
    $('.selector').datepicker('option', 'minDate', new Date(2007, 1 - 1, 1));
  • monthNames

    类型:
    Array
    默认值:
    ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']

    月份的完全名称列表, 用在datepicker的月份头部并且按照dateFormat的请求进行设置. 这个属性是一个区域化属性.

    代码示例

    使用指定的monthNames参数初始化一个datepicker.
    $('.selector').datepicker({ monthNames: ['Januar','Februar','Marts','April','Maj','Juni','Juli','August','September','Oktober','November','December'] });
    在初始化后设置或者获取monthNames参数.
    //获取
    var monthNames = $('.selector').datepicker('option', 'monthNames');
    //设置
    $('.selector').datepicker('option', 'monthNames', ['Januar','Februar','Marts','April','Maj','Juni','Juli','August','September','Oktober','November','December']);
  • monthNamesShort

    类型:
    Array
    默认值:
    ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']

    月份简称的列表, 根据dateFormat的请求来进行设置并使用. 这个属性是一个区域化属性.

    代码示例

    使用指定的monthNamesShort参数初始化一个datepicker.
    $('.selector').datepicker({ monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun','Jul','Aug','Sep','Okt','Nov','Dec'] });
    在初始化后设置或者获取monthNamesShort参数.
    //获取
    var monthNamesShort = $('.selector').datepicker('option', 'monthNamesShort');
    //设置
    $('.selector').datepicker('option', 'monthNamesShort', ['Jan','Feb','Mar','Apr','Maj','Jun','Jul','Aug','Sep','Okt','Nov','Dec']);
  • navigationAsDateFormat

    类型:
    Boolean
    默认值:
    false

    为true时在显示之前formatDate函数将应用于prevText, nextText, 和 currentText的值, 让他们能够显示目标的月份名称.

    代码示例

    使用指定的navigationAsDateFormat参数初始化一个datepicker.
    $('.selector').datepicker({ navigationAsDateFormat: true });
    在初始化后设置或者获取navigationAsDateFormat参数.
    //获取
    var navigationAsDateFormat = $('.selector').datepicker('option', 'navigationAsDateFormat');
    //设置
    $('.selector').datepicker('option', 'navigationAsDateFormat', true);
  • nextText

    类型:
    String
    默认值:
    'Next>'

    下个月链接现实的文字. 这个属性是一个区域化属性.

    代码示例

    使用指定的nextText参数初始化一个datepicker.
    $('.selector').datepicker({ nextText: 'Later' });
    在初始化后设置或者获取nextText参数.
    //获取
    var nextText = $('.selector').datepicker('option', 'nextText');
    //设置
    $('.selector').datepicker('option', 'nextText', 'Later');
  • numberOfMonths

    类型:
    Number
    默认值:
    1

    设置一次显示几个月. 这个值可以是一个连续的整数, or can be a two-element array to define the number of rows and columns to display.

    代码示例

    使用指定的numberOfMonths参数初始化一个datepicker.
    $('.selector').datepicker({ numberOfMonths: 2 });
    在初始化后设置或者获取numberOfMonths参数.
    //获取
    var numberOfMonths = $('.selector').datepicker('option', 'numberOfMonths');
    //设置
    $('.selector').datepicker('option', 'numberOfMonths', 2);
  • prevText

    类型:
    String
    默认值:
    '<Prev'

    上个月链接显示的文字. 这个属性是一个区域化属性.

    代码示例

    使用指定的prevText参数初始化一个datepicker.
    $('.selector').datepicker({ prevText: 'Earlier' });
    在初始化后设置或者获取prevText参数.
    //获取
    var prevText = $('.selector').datepicker('option', 'prevText');
    //设置
    $('.selector').datepicker('option', 'prevText', 'Earlier');
  • shortYearCutoff

    类型:
    String, Number
    默认值:
    '+10'

    设置一个定义日期所处实际的截断年份值(与dateFormat中的 'y'共同使用). 如果是一个数值 (0-99)那么将直接使用这些值. 如果提供的是一个字符串值那么它将被转换为数值添加到当前年. 一旦截断年开始计算, 任何输入的日期的年份小于或者等于它的话将被判定为在本世纪,大于他的将被判定为在上个世纪.

    代码示例

    使用指定的shortYearCutoff参数初始化一个datepicker.
    $('.selector').datepicker({ shortYearCutoff: 50 });
    在初始化后设置或者获取shortYearCutoff参数.
    //获取
    var shortYearCutoff = $('.selector').datepicker('option', 'shortYearCutoff');
    //设置
    $('.selector').datepicker('option', 'shortYearCutoff', 50);
  • showAnim

    类型:
    String
    默认值:
    'show'

    设置显示/隐藏datepicker的动画名称. 使用 'show' (默认), 'slideDown', 'fadeIn', 或其他任何的显示/隐藏效果 jQuery UI effects.

    代码示例

    使用指定的showAnim参数初始化一个datepicker.
    $('.selector').datepicker({ showAnim: 'fold' });
    在初始化后设置或者获取showAnim参数.
    //获取
    var showAnim = $('.selector').datepicker('option', 'showAnim');
    //设置
    $('.selector').datepicker('option', 'showAnim', 'fold');
  • showButtonPanel

    类型:
    Boolean
    默认值:
    false

    是否显示按钮面板.

    代码示例

    使用指定的showButtonPanel参数初始化一个datepicker.
    $('.selector').datepicker({ showButtonPanel: true });
    在初始化后设置或者获取showButtonPanel参数.
    //获取
    var showButtonPanel = $('.selector').datepicker('option', 'showButtonPanel');
    //设置
    $('.selector').datepicker('option', 'showButtonPanel', true);
  • showOn

    类型:
    String
    默认值:
    'focus'

    设置触发datepicker自动出现的事件名称,是focus ('focus')还是clicked ('button')或者任何事件('both').

    代码示例

    使用指定的showOn参数初始化一个datepicker.
    $('.selector').datepicker({ showOn: 'both' });
    在初始化后设置或者获取showOn参数.
    //获取
    var showOn = $('.selector').datepicker('option', 'showOn');
    //设置
    $('.selector').datepicker('option', 'showOn', 'both');
  • showOptions

    类型:
    Options
    默认值:
    {}

    showAnim使用一个jQuery UI effects动画, 你可以为动画提供一些额外的设置.

    代码示例

    使用指定的showOptions参数初始化一个datepicker.
    $('.selector').datepicker({ showOptions: {direction: 'up' });
    在初始化后设置或者获取showOptions参数.
    //获取
    var showOptions = $('.selector').datepicker('option', 'showOptions');
    //设置
    $('.selector').datepicker('option', 'showOptions', {direction: 'up');
  • }
  • showOtherMonths

    类型:
    Boolean
    默认值:
    false

    当启动时或者离开本月时日期是否显示在其他月(未选择).

    代码示例

    使用指定的showOtherMonths参数初始化一个datepicker.
    $('.selector').datepicker({ showOtherMonths: true });
    在初始化后设置或者获取showOtherMonths参数.
    //获取
    var showOtherMonths = $('.selector').datepicker('option', 'showOtherMonths');
    //设置
    $('.selector').datepicker('option', 'showOtherMonths', true);
  • stepMonths

    类型:
    Number
    默认值:
    1

    设置当点击上个月/下个月链接时移动多少个月.

    代码示例

    使用指定的stepMonths参数初始化一个datepicker.
    $('.selector').datepicker({ stepMonths: 3 });
    在初始化后设置或者获取stepMonths参数.
    //获取
    var stepMonths = $('.selector').datepicker('option', 'stepMonths');
    //设置
    $('.selector').datepicker('option', 'stepMonths', 3);
  • yearRange

    类型:
    String
    默认值:
    '-10:+10'

    设置下拉列表中显示的年份范围: 全部相对于今年 (-nn:+nn) 或者绝对值 (nnnn:nnnn).

    代码示例

    使用指定的yearRange参数初始化一个datepicker.
    $('.selector').datepicker({ yearRange: '2000:2010' });
    在初始化后设置或者获取yearRange参数.
    //获取
    var yearRange = $('.selector').datepicker('option', 'yearRange');
    //设置
    $('.selector').datepicker('option', 'yearRange', '2000:2010');

事件

  • beforeShow

    function(input)

    可以是一个函数提供一个input field和当前datepicker的实例并且返回一个选项更新当前的datepicker. 这个事件只发生在datepicker显示之前.

    代码示例

    提供一个回调函数对beforeShow事件进行操作.
    $('.selector').datepicker({
       beforeShow: function(input) { ... }
    });
  • beforeShowDay

    function(date)

    这个函数使用一个日期作为参数并且必须返回一个数组,[0]中的true/false指示这个日期是否被选中,[1]中是默认的CSS样式名称或者''. 这个事件在datepicker中每一天显示之前触发.

    代码示例

    提供一个回调函数对beforeShowDay事件进行操作.
    $('.selector').datepicker({
       beforeShowDay: function(date) { ... }
    });
  • onChangeMonthYear

    function(date)

    允许你定义自己的事件在datepicker移动到其他的月份/年份时. 这个函数接受当前显示的第一个月的第一天作为参数. this指的是相关的input field.

    代码示例

    提供一个回调函数对onChangeMonthYear事件进行操作.
    $('.selector').datepicker({
       onChangeMonthYear: function(date) { ... }
    });
  • onClose

    function(date)

    允许你在datepicker关闭时定义自己的事件. 是否有日期被选中. 这个函数接受被选中的日期作为参数. this指的是相关的input field.

    代码示例

    提供一个回调函数对onClose事件进行操作.
    $('.selector').datepicker({
       onClose: function(date) { ... }
    });
  • onSelect

    function(dateText)

    允许你在datepicker选中时定义自己的事件. 这个函数接受被选中的日期作为参数. this指的是相关的input field.

    代码示例

    提供一个回调函数对onSelect事件进行操作.
    $('.selector').datepicker({
       onSelect: function(dateText) { ... }
    });

方法

  • destroy

    方法签名:
    .datepicker( 'destroy' )

    完全移除datepicker功能. 这将使元素返回到之前的初始化状态.

  • disable

    方法签名:
    .datepicker( 'disable' )

    关闭datepicker.

  • enable

    方法签名:
    .datepicker( 'enable' )

    打开 datepicker.

  • option

    方法签名:
    .datepicker( 'option' , optionName , [value] )

    获取或者设置datepicker参数. 如果没有提供参数值则是获取.

  • dialog

    方法签名:
    .datepicker( 'dialog', dateText, [onSelect] , [settings] , [pos] )

    在一个"dialog"中打开一个datepicker.

    dateText: 初始化的日期.

    onSelect: 当一个日期被选中时的回调函数. 这个函数接收datepicker选中的日期作为参数.

    settings: datepicker的设定.

    pos:dialog的top/left的[x, y]坐标 或者一个鼠标事件(MouseEvent)的坐标. 如果不提供此参数dialog将显示在屏幕正中.

  • isDisabled

    方法签名:
    .datepicker( 'isDisabled' )

    确定一个datepicker是否已关闭.

  • hide

    方法签名:
    .datepicker( 'hide', [speed] )

    关闭一个先前打开的datepicker.

    speed: 关闭的速度.

  • show

    方法签名:
    .datepicker( 'show' )

    呼出一个先前访问的datepicker.

  • getDate

    方法签名:
    .datepicker( 'getDate' )

    返回一个datepicker中当前日期, 或者返回两个日期成为一个时间范围.

  • setDate

    方法签名:
    .datepicker( 'setDate', date, [endDate] )

    设置当前时间给datepicker作为第一次控制,或者两个时间作为时间范围.

    endDate: 时间范围中新的结束时间.

主题

jQuery UI Datepicker插件使用jQuery UI CSS 框架的外观和风格,包括颜色和背景纹理.我们建议您使用ThemeRoller工具来创建和下载的自定义主题,很容易建立和维护.

如果有更深层次的个性化需要,有特定类别的工具ui.datepicker.css样式可供参考,可以修改这些参考。这些课程是下面以高亮和粗体显示的。

jQuery UI CSS Framework classes示例

<div id="ui-datepicker-div" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible">
   <div class="ui-datepicker-header ui-widget-header ui-helper-clearfix ui-corner-all">
      <a class="ui-datepicker-prev ui-corner-all">title="Prev"><span class="ui-icon ui-icon-circle-triangle-w">Prev</span></a>
      <a class="ui-datepicker-next ui-corner-all" title="Next"><span class="ui-icon ui-icon-circle-triangle-e">Next</span></a>
      <div class="ui-datepicker-title">
         <span class="ui-datepicker-month">January</span><span class="ui-datepicker-year">2009</span>
      </div>
   </div>
   <table class="ui-datepicker-calendar">
      <thead>
      <tr>
         <th class="ui-datepicker-week-end"><span title="Sunday">Su</span></th>
         ...
      </tr>
      </thead>
      <tbody><tr>
         <td class="ui-datepicker-week-end ui-datepicker-other-month "> 1 </td>
         ...
      </tr>
      </tbody>
   </table>
   <div class="ui-datepicker-buttonpane ui-widget-content">
      <button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all">Today</button>
      <button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all">Done</button>
   </div>
</div>

Note: 注:这是一个示例datepicker插件所产生的标记,而不是你应该使用的标记.创建一个datepicker唯一需要的标记是 <input type="text" /> or <div></div>.