格式化 jQuery UI 日期选择器

Posted

技术标签:

【中文标题】格式化 jQuery UI 日期选择器【英文标题】:Formatting out of a jQuery UI datepicker 【发布时间】:2011-01-30 00:29:23 【问题描述】:

我在尝试上的输出时遇到问题。

我希望日期格式为“ISO 8601”格式,如下所述:

http://jqueryui.com/demos/datepicker/#date-formats

这是我的代码的样子:

$.datepicker.setDefaults($.datepicker.regional['nl']);
$('.datepicker').datepicker('option', dateFormat: 'yy-mm-dd' );

【问题讨论】:

【参考方案1】:

你的选项设置器格式有点不对,试试这个:

$('.datepicker').datepicker('option', 'dateFormat', 'yy-mm-dd');

See the options pane on that page for how to set each one in this way

在创建选择器之前全局执行此操作时,请执行以下操作:

$.datepicker.setDefaults($.datepicker.regional['nl']); 
$.datepicker.setDefaults( dateFormat: 'yy-mm-dd' );
//Later..
$('.datepicker').datepicker();

另外,请确保包含您的区域文件,否则 $.datepicker.regional['nl'] 没有任何意义,在尝试将默认设置为您的区域之前需要包含此文件:http://jquery-ui.googlecode.com/svn/trunk/ui/i18n/

【讨论】:

我试过了,它不起作用。我正在执行此步骤: $('#datepicker').datepicker('option', dateFormat: $(this).val());在我给你的演示链接的源视图中 @Sam - 执行此操作时日期选择器是否打开?这只会影响 $('.datepicker') 上创建的日期选择器,如果您在创建之前在页面 init 上执行此操作,请执行以下操作:$.datepicker.setDefaults( dateFormat: 'yy-mm-dd' );(在您当前的 setDefaults 调用之后) 谢谢!这样做了: $.datepicker.setDefaults($.datepicker.regional['nl']); $.datepicker.setDefaults( dateFormat: 'yy-mm-dd' ); $('.datepicker').datepicker(); @Sam - 非常棒,+1,欢迎来到 SO,您现在可以对事情进行投票了 :) 我会编辑这个答案,让下一个遇到问题的人更快地找到解决方案 知道了!最好在您的最终答案中提及人们仍然必须包含 datepicker 的区域文件。位于此处:jquery-ui.googlecode.com/svn/trunk/ui/i18n【参考方案2】:
$( "#end_date" ).datepicker( dateFormat: 'yy-mm-dd' );

对我有用

【讨论】:

也为我工作 (jQuery 1.8.2 / UI 1.9.1) - 使用日期选择器类而不是 ID 这是一个很好的答案,因为我使用了日历图标,传递了其他选项,而这个答案可以解决这个问题。【参考方案3】:

你也可以用更短的方式:

$.datepicker.setDefaults(jQuery.extend( $.datepicker.regional['nl'], 日期格式:'yy-mm-dd' ));

【讨论】:

以上是关于格式化 jQuery UI 日期选择器的主要内容,如果未能解决你的问题,请参考以下文章

jQuery-UI 日期选择器默认日期

带有手动输入和动态最小日期的 jQuery UI 日期选择器

在日期选择器上设置日期 jquery ui datepicker

在 jQuery UI 日期选择器中在日期旁边显示附加文本

jQuery ui 日期选择器位置

JQuery UI日期选择器结束日期开始日期后1天