My97DatePicker时间控件 JQuery UI

  1. ·概述   
  2. 日期选择插件是一个配置灵活的插件,你可以定义它的展示方式,包括日期格式、语言、限制选择日期范围、添加相关按钮以及其它导航等。   
  3. 官方示例地址:http://jqueryui.com/demos/datepicker/   
  4.   
  5.   
  6.   
  7. 同时,你还可以通过键盘控制它:   
  8. page up/down - 上一月、下一月   
  9. ctrl+page up/down - 上一年、下一年    
  10. ctrl+home - 当前月或最后一次打开的日期   
  11. ctrl+left/right - 上一天、下一天   
  12. ctrl+up/down - 上一周、下一周    
  13. enter - 确定选择日期    
  14. ctrl+end - 关闭并清除已选择的日期   
  15. escape - 关闭并取消选择   
  16.   
  17. 实用功能:   
  18. $.datepicker.setDefaults( settings ) - 全局设置日期选择插件的参数.    
  19. $.datepicker.formatDate( format, date, settings ) - 格式化显示的日期字符串    
  20. $.datepicker.iso8601Week( date ) - 给出一个日期,确实他是一年中的第几周    
  21. $.datepicker.parseDate( format, value, settings ) - 按照指定格式获取日期字符串    
  22.   
  23. 日期格式:   
  24. d - 每月的第几天 (没有前导零)    
  25. dd - 每月的第几天 (两位数字)    
  26. o - 一年中的第几天 (没有前导零)    
  27. oo - 一年中的第几天 (三位数字)    
  28. D - day name short    
  29. DD - day name long    
  30. m - 月份 (没有前导零)    
  31. mm - 月份 (两位数字)    
  32. M - month name short    
  33. MM - month name long    
  34. y - 年份 (两位数字)    
  35. yy - 年份 (四位数字)    
  36. @ - Unix 时间戳 (从 01/01/1970 开始)    
  37. '...' - 文本   
  38. '' - 单引号    
  39. (其它) - 文本   
  40.   
  41. 其它标准日期格式:    
  42. ATOM - 'yy-mm-dd' (Same as RFC 3339/ISO 8601)    
  43. COOKIE - 'D, dd M yy'    
  44. ISO_8601 - 'yy-mm-dd'    
  45. RFC_822 - 'D, d M y'  
  46. RFC_850 - 'DD, dd-M-y'  
  47. RFC_1036 - 'D, d M y   
  48. RFC_1123 - 'D, d M yy'  
  49. RFC_2822 - 'D, d M yy'  
  50. RSS - 'D, d M y'  
  51. TIMESTAMP - '@'    
  52. W3C - 'yy-mm-dd'  
  53.   
  54.   
  55. ·参数(参数名 : 参数类型 : 默认值)   
  56. altField : String : ''    
  57.   将选择的日期同步到另一个域中,配合altFormat可以显示不同格式的日期字符串。   
  58.   初始:$('.selector').datepicker({ altField: '#actualDate' });   
  59.   获取:var altField = $('.selector').datepicker('option''altField');   
  60.   设置:$('.selector').datepicker('option''altField''#actualDate');   
  61.   
  62. altFormat : String : ''    
  63.   当设置了altField的情况下,显示在另一个域中的日期格式。   
  64.   初始:$('.selector').datepicker({ altFormat: 'yy-mm-dd' });   
  65.   获取:var altFormat = $('.selector').datepicker('option''altFormat');   
  66.   设置:$('.selector').datepicker('option''altFormat''yy-mm-dd');   
  67.   
  68. appendText : String : ''    
  69.   在日期插件的所属域后面添加指定的字符串。   
  70.   初始:$('.selector').datepicker({ appendText: '(yyyy-mm-dd)' });   
  71.   获取:var appendText = $('.selector').datepicker('option''appendText');   
  72.   设置:$('.selector').datepicker('option''appendText''(yyyy-mm-dd)');   
  73.   
  74. buttonImage : String : ''    
  75.   设置弹出按钮的图片,如果非空,则按钮的文本将成为alt属性,不直接显示。   
  76.   初始:$('.selector').datepicker({ buttonImage: '/images/datepicker.gif' });   
  77.   获取:var buttonImage = $('.selector').datepicker('option''buttonImage');   
  78.   设置:$('.selector').datepicker('option''buttonImage''/images/datepicker.gif');   
  79.   
  80. buttonImageOnly : Boolean : false    
  81.   Set to true to place an image after the field to use as the trigger without it appearing on a button.   
  82.   初始:$('.selector').datepicker({ buttonImageOnly: true });   
  83.   获取:var buttonImageOnly = $('.selector').datepicker('option''buttonImageOnly');   
  84.   设置:$('.selector').datepicker('option''buttonImageOnly'true);   
  85.   
  86. buttonText : String : '...'    
  87.   设置触发按钮的文本内容。   
  88.   初始:$('.selector').datepicker({ buttonText: 'Choose' });   
  89.   获取:var buttonText = $('.selector').datepicker('option''buttonText');   
  90.   设置:$('.selector').datepicker('option''buttonText''Choose');   
  91.   
  92. changeMonth : Boolean : false  
  93.   设置允许通过下拉框列表选取月份。   
  94.   初始:$('.selector').datepicker({ changeMonth: true });   
  95.   获取:var changeMonth = $('.selector').datepicker('option''changeMonth');   
  96.   设置:$('.selector').datepicker('option''changeMonth'true);   
  97.   
  98. changeYear : Boolean : false  
  99.   设置允许通过下拉框列表选取年份。   
  100.   初始:$('.selector').datepicker({ changeYear: true });   
  101.   获取:var changeYear = $('.selector').datepicker('option''changeYear');   
  102.   设置:$('.selector').datepicker('option''changeYear'true);   
  103.   
  104. closeTextType: StringDefault: 'Done'  
  105.   设置关闭按钮的文本内容,此按钮需要通过showButtonPanel参数的设置才显示。   
  106.   初始:$('.selector').datepicker({ closeText: 'X' });   
  107.   获取:var closeText = $('.selector').datepicker('option''closeText');   
  108.   设置:$('.selector').datepicker('option''closeText''X');   
  109.   
  110. constrainInput : Boolean : true  
  111.   如果设置为true,则约束当前输入的日期格式。   
  112.   初始:$('.selector').datepicker({ constrainInput: false });   
  113.   获取:var constrainInput = $('.selector').datepicker('option''constrainInput');   
  114.   设置:$('.selector').datepicker('option''constrainInput'false);   
  115.   
  116. currentText : String : 'Today'  
  117.   设置当天按钮的文本内容,此按钮需要通过showButtonPanel参数的设置才显示。   
  118.   初始:$('.selector').datepicker({ currentText: 'Now' });   
  119.   获取:var currentText = $('.selector').datepicker('option''currentText');   
  120.   设置:$('.selector').datepicker('option''currentText''Now');   
  121.   
  122. dateFormat : String : 'mm/dd/yy'    
  123.   设置日期字符串的显示格式。   
  124.   初始:$('.selector').datepicker({ dateFormat: 'yy-mm-dd' });   
  125.   获取:var dateFormat = $('.selector').datepicker('option''dateFormat');   
  126.   设置:$('.selector').datepicker('option''dateFormat''yy-mm-dd');   
  127.   
  128. dayNames : Array : ['Sunday''Monday''Tuesday''Wednesday''Thursday''Friday''Saturday']   
  129.   设置一星期中每天的名称,从星期天开始。此内容用于dateFormat时显示,以及日历中当鼠标移至行头时显示。   
  130.   初始:$('.selector').datepicker({ dayNames: ['Dimanche''Lundi''Mardi''Mercredi''Jeudi''Vendredi''Samedi'] });   
  131.   获取:var dayNames = $('.selector').datepicker('option''dayNames');   
  132.   设置:$('.selector').datepicker('option''dayNames', ['Dimanche''Lundi''Mardi''Mercredi''Jeudi''Vendredi''Samedi']);   
  133.   
  134. dayNamesMin : Array : ['Su''Mo''Tu''We''Th''Fr''Sa']   
  135.   设置一星期中每天的缩语,从星期天开始,此内容用于dateFormat时显示,以前日历中的行头显示。   
  136.   初始:$('.selector').datepicker({ dayNamesMin: ['Di''Lu''Ma''Me''Je''Ve''Sa'] });   
  137.   获取:var dayNamesMin = $('.selector').datepicker('option''dayNamesMin');   
  138.   设置:$('.selector').datepicker('option''dayNamesMin', ['Di''Lu''Ma''Me''Je''Ve''Sa']);   
  139.   
  140. dayNamesShort : Array : ['Sun''Mon''Tue''Wed''Thu''Fri''Sat']   
  141.   设置一星期中每天的缩语,从星期天开始,此内容用于dateFormat时显示,以前日历中的行头显示。   
  142.   初始:$('.selector').datepicker({ dayNamesShort: ['Dim''Lun''Mar''Mer''Jeu''Ven''Sam'] });   
  143.   获取:var dayNamesShort = $('.selector').datepicker('option''dayNamesShort');   
  144.   设置:$('.selector').datepicker('option''dayNamesShort', ['Dim''Lun''Mar''Mer''Jeu''Ven''Sam']);   
  145.   
  146. defaultDate : Date, Number, String : null  
  147.   设置默认加载完后第一次显示时选中的日期。可以是Date对象,或者是数字(从今天算起,例如+7),或者有效的字符串('y'代表年, 'm'代表月, 'w'代表周, 'd'代表日, 例如:'+1m +7d')。   
  148.   初始:$('.selector').datepicker({ defaultDate: +7 });   
  149.   获取:var defaultDate = $('.selector').datepicker('option''defaultDate');   
  150.   设置:$('.selector').datepicker('option''defaultDate', +7);   
  151.   
  152. duration : String, Number : 'normal'    
  153.   设置日期控件展开动画的显示时间,可选是"slow""normal""fast"''代表立刻,数字代表毫秒数。   
  154.   初始:$('.selector').datepicker({ duration: 'slow' });   
  155.   获取:var duration = $('.selector').datepicker('option''duration');   
  156.   设置:$('.selector').datepicker('option''duration''slow');   
  157.   
  158. firstDay : Number : 0   
  159.   设置一周中的第一天。星期天为0,星期一为1,以此类推。   
  160.   初始:$('.selector').datepicker({ firstDay: 1 });   
  161.   获取:var firstDay = $('.selector').datepicker('option''firstDay');   
  162.   设置:$('.selector').datepicker('option''firstDay', 1);   
  163.   
  164. gotoCurrent : Boolean : false    
  165.   如果设置为true,则点击当天按钮时,将移至当前已选中的日期,而不是今天。   
  166.   初始:$('.selector').datepicker({ gotoCurrent: true });   
  167.   获取:var gotoCurrent = $('.selector').datepicker('option''gotoCurrent');   
  168.   设置:$('.selector').datepicker('option''gotoCurrent'true);   
  169.   
  170. hideIfNoPrevNext : Boolean : false    
  171.   设置当没有上一个/下一个可选择的情况下,隐藏掉相应的按钮。(默认为不可用)   
  172.   初始:$('.selector').datepicker({ hideIfNoPrevNext: true });   
  173.   获取:var hideIfNoPrevNext = $('.selector').datepicker('option''hideIfNoPrevNext');   
  174.   设置:$('.selector').datepicker('option''hideIfNoPrevNext'true);   
  175.   
  176. isRTL : Boolean : false    
  177.   如果设置为true,则所有文字是从右自左。   
  178.   初始:$('.selector').datepicker({ isRTL: true });   
  179.   获取:var isRTL = $('.selector').datepicker('option''isRTL');   
  180.   设置:$('.selector').datepicker('option''isRTL'true);   
  181.   
  182. maxDate : Date, Number, String : null    
  183.   设置一个最大的可选日期。可以是Date对象,或者是数字(从今天算起,例如+7),或者有效的字符串('y'代表年, 'm'代表月, 'w'代表周, 'd'代表日, 例如:'+1m +7d')。   
  184.   初始:$('.selector').datepicker({ maxDate: '+1m +1w' });   
  185.   获取:var maxDate = $('.selector').datepicker('option''maxDate');   
  186.   设置:$('.selector').datepicker('option''maxDate''+1m +1w');   
  187.   
  188. minDate : Date, Number, String : null    
  189.   设置一个最小的可选日期。可以是Date对象,或者是数字(从今天算起,例如+7),或者有效的字符串('y'代表年, 'm'代表月, 'w'代表周, 'd'代表日, 例如:'+1m +7d')。   
  190.   初始:$('.selector').datepicker({ minDate: new Date(2007, 1 - 1, 1) });   
  191.   获取:var minDate = $('.selector').datepicker('option''minDate');   
  192.   设置:$('.selector').datepicker('option''minDate'new Date(2007, 1 - 1, 1));   
  193.   
  194. monthNames : Array : ['January''February''March''April''May''June''July''August''September''October''November''December']   
  195.   设置所有月份的名称。   
  196.   初始:$('.selector').datepicker({monthNames:['Januar','Februar','Marts','April','Maj','Juni','Juli','August','September','Oktober','November','December']});   
  197.   获取:var monthNames = $('.selector').datepicker('option''monthNames');   
  198.   设置:$('.selector').datepicker('option''monthNames', ['Januar','Februar','Marts','April','Maj','Juni','Juli','August','September','Oktober','November','December']);   
  199.   
  200. monthNamesShort : Array : ['Jan''Feb''Mar''Apr''May''Jun''Jul''Aug''Sep''Oct''Nov''Dec']   
  201.   设置所有月份的缩写。   
  202.   初始:$('.selector').datepicker({monthNamesShort:['Jan','Feb','Mar','Apr','Maj','Jun','Jul','Aug','Sep','Okt','Nov','Dec']});   
  203.   获取:var monthNamesShort = $('.selector').datepicker('option''monthNamesShort');   
  204.   设置:$('.selector').datepicker('option''monthNamesShort', ['Jan','Feb','Mar','Apr','Maj','Jun','Jul','Aug','Sep','Okt','Nov','Dec']);   
  205.   
  206. navigationAsDateFormat : Boolean : false  
  207.   如果设置为true,则formatDate函数将应用到prevText,nextText和currentText的值中显示,例如显示为月份名称。   
  208.   初始:$('.selector').datepicker({ navigationAsDateFormat: true });   
  209.   获取:var navigationAsDateFormat = $('.selector').datepicker('option''navigationAsDateFormat');   
  210.   设置:$('.selector').datepicker('option''navigationAsDateFormat'true);   
  211.   
  212. nextText : String : 'Next'    
  213.   设置“下个月”链接的显示文字。   
  214.   初始:$('.selector').datepicker({ nextText: 'Later' });   
  215.   获取:var nextText = $('.selector').datepicker('option''nextText');   
  216.   设置:$('.selector').datepicker('option''nextText''Later');   
  217.   
  218. numberOfMonths : Number, Array : 1   
  219.   设置一次要显示多少个月份。如果为整数则是显示月份的数量,如果是数组,则是显示的行与列的数量。   
  220.   初始:$('.selector').datepicker({ numberOfMonths: [2, 3] });   
  221.   获取:var numberOfMonths = $('.selector').datepicker('option''numberOfMonths');   
  222.   设置:$('.selector').datepicker('option''numberOfMonths', [2, 3]);   
  223.   
  224. prevText : String : 'Prev'    
  225.   设置“上个月”链接的显示文字。   
  226.   初始:$('.selector').datepicker({ prevText: 'Earlier' });   
  227.   获取:var prevText = $('.selector').datepicker('option''prevText');   
  228.   设置:$('.selector').datepicker('option''prevText''Earlier');   
  229.   
  230. shortYearCutoff : String, Number : '+10'  
  231.   设置截止年份的值。如果是(0-99)的数字则以当前年份开始算起,如果为字符串,则相应的转为数字后再与当前年份相加。当超过截止年份时,则被认为是上个世纪。   
  232.   初始:$('.selector').datepicker({ shortYearCutoff: 50 });   
  233.   获取:var shortYearCutoff = $('.selector').datepicker('option''shortYearCutoff');   
  234.   设置:$('.selector').datepicker('option''shortYearCutoff', 50);   
  235.   
  236. showAnim : String : 'show'    
  237.   设置显示、隐藏日期插件的动画的名称。   
  238.   初始:$('.selector').datepicker({ showAnim: 'fold' });   
  239.   获取:var showAnim = $('.selector').datepicker('option''showAnim');   
  240.   设置:$('.selector').datepicker('option''showAnim''fold');   
  241.   
  242. showButtonPanel : Boolean : false    
  243.   设置是否在面板上显示相关的按钮。   
  244.   初始:$('.selector').datepicker({ showButtonPanel: true });   
  245.   获取:var showButtonPanel = $('.selector').datepicker('option''showButtonPanel');   
  246.   设置:$('.selector').datepicker('option''showButtonPanel'true);   
  247.   
  248. showCurrentAtPos : Number : 0   
  249.   设置当多月份显示的情况下,当前月份显示的位置。自顶部/左边开始第x位。   
  250.   初始:$('.selector').datepicker({ showCurrentAtPos: 3 });   
  251.   获取:var showCurrentAtPos = $('.selector').datepicker('option''showCurrentAtPos');   
  252.   设置:$('.selector').datepicker('option''showCurrentAtPos', 3);   
  253.   
  254. showMonthAfterYear : Boolean : false  
  255.   是否在面板的头部年份后面显示月份。   
  256.   初始:$('.selector').datepicker({ showMonthAfterYear: true });   
  257.   获取:var showMonthAfterYear = $('.selector').datepicker('option''showMonthAfterYear');   
  258.   设置:$('.selector').datepicker('option''showMonthAfterYear'true);   
  259.   
  260. showOn : String : 'focus'    
  261.   设置什么事件触发显示日期插件的面板,可选值:focus, button, both   
  262.   初始:$('.selector').datepicker({ showOn: 'both' });   
  263.   获取:var showOn = $('.selector').datepicker('option''showOn');   
  264.   设置:$('.selector').datepicker('option''showOn''both');   
  265.   
  266. showOptions : Options : {}   
  267.   如果使用showAnim来显示动画效果的话,可以通过此参数来增加一些附加的参数设置。   
  268.   初始:$('.selector').datepicker({ showOptions: {direction: 'up' });   
  269.   获取:var showOptions = $('.selector').datepicker('option''showOptions');   
  270.   设置:$('.selector').datepicker('option''showOptions', {direction: 'up');   
  271.   
  272. showOtherMonths : Boolean : false    
  273.   是否在当前面板显示上、下两个月的一些日期数(不可选)。   
  274.   初始:$('.selector').datepicker({ showOtherMonths: true });   
  275.   获取:var showOtherMonths = $('.selector').datepicker('option''showOtherMonths');   
  276.   设置:$('.selector').datepicker('option''showOtherMonths'true);   
  277.   
  278. stepMonths : Number : 1   
  279.   当点击上/下一月时,一次翻几个月。   
  280.   初始:$('.selector').datepicker({ stepMonths: 3 });   
  281.   获取:var stepMonths = $('.selector').datepicker('option''stepMonths');   
  282.   设置:$('.selector').datepicker('option''stepMonths', 3);   
  283.   
  284. yearRange : String : '-10:+10'    
  285.   控制年份的下拉列表中显示的年份数量,可以是相对当前年(-nn:+nn),也可以是绝对值(-nnnn:+nnnn)   
  286.   初始:$('.selector').datepicker({ yearRange: '2000:2010' });   
  287.   获取:var yearRange = $('.selector').datepicker('option''yearRange');   
  288.   设置:$('.selector').datepicker('option''yearRange''2000:2010');   
  289.   
  290.   
  291. ·事件   
  292.   
  293. beforeShow : function(input)   
  294.   在日期控件显示面板之前,触发此事件,并返回当前触发事件的控件的实例对象。   
  295.   初始:$('.selector').datepicker({ beforeShow: function(input) { ... } });   
  296.   
  297. beforeShowDay : function(date)   
  298.   在日期控件显示面板之前,每个面板上的日期绑定时都触发此事件,参数为触发事件的日期。调用函数后,必须返回一个数组:[0]此日期是否可选(true/false),[1]此日期的CSS样式名称(""表示默认),[2]当鼠标移至上面出现一段提示的内容。   
  299.   初始:$('.selector').datepicker({ beforeShowDay: function(date) { ... } });   
  300.   
  301. onChangeMonthYear : function(year, month, inst)   
  302.   当年份或月份改变时触发此事件,参数为改变后的年份月份和当前日期插件的实例。   
  303.   初始:$('.selector').datepicker({ onChangeMonthYear: function(year, month, inst) { ... } });   
  304.   
  305. onClose : function(dateText, inst)   
  306.   当日期面板关闭后触发此事件(无论是否有选择日期),参数为选择的日期和当前日期插件的实例。   
  307.   初始:$('.selector').datepicker({ onClose: function(dateText, inst) { ... } });   
  308.   
  309. onSelect : function(dateText, inst)   
  310.   当在日期面板选中一个日期后触发此事件,参数为选择的日期和当前日期插件的实例。   
  311.   $('.selector').datepicker({ onSelect: function(dateText, inst) { ... } });   
  312.   
  313.   
  314. 方法:   
  315.   
  316. destory   
  317.   从元素中移除拖拽功能。   
  318.   用法:.datepicker( 'destroy' )   
  319.   
  320. disable   
  321.   禁用元素的拖拽功能。   
  322.   用法:.datepicker( 'disable' )   
  323.   
  324. enable   
  325.   启用元素的拖拽功能。   
  326.   用法:.datepicker( 'enable' )   
  327.   
  328. option   
  329.   获取或设置元素的参数。   
  330.   用法:.datepicker( 'option' , optionName , [value] )   
  331.   
  332. dialog   
  333.   在dialog插件中打开一个日期插件。   
  334.   用法:.datepicker( 'dialog' , dateText , [onSelect] , [settings] , [pos] )   
  335.   
  336. isDisabled   
  337.   确实日期插件是否已被禁用。   
  338.   用法:.datepicker( 'isDisabled' )   
  339.   
  340. hide   
  341.   隐藏(关闭)之前已经打开的日期面板。   
  342.   用法:.datepicker( 'hide' , [speed] )    
  343.   
  344. show   
  345. .datepicker( 'show' )    
  346.   显示日期插件。   
  347.   用法:.datepicker( 'show' )   
  348.   
  349. getDate    
  350.   返回当前日期插件选择的日期。   
  351.   用法:.datepicker( 'getDate' )   
  352.   
  353. setDate   
  354.   设置日期插件当前的日期。date参数可以是数字(从今天算起,例如+7),或者有效的字符串('y'代表年, 'm'代表月, 'w'代表周, 'd'代表日, 例如:'+1m +7d'),null表示当天。   
  355.   用法:.datepicker( 'setDate' , date )
原文地址:https://www.cnblogs.com/tangyangping/p/4245440.html