Datepicker 的初始化格式
Datepicker's format on initialization
我的数据库中有一个 table,其中有一列 date
。当我编辑此 table 时,输入的值具有以下格式:yy-mm-dd
。在我的 js 文件中,我初始化了日期选择器:
$('#date-input').datepicker({
numberOfMonths: 1,
isRTL : $('body').hasClass('rtl') ? true : false,
prevText: '<i class="fa fa-angle-left"></i>',
nextText: '<i class="fa fa-angle-right"></i>',
showButtonPanel: false,
dateFormat: 'dd-mm-yy'
});
如您所见,我指定了格式:dateFormat: 'dd-mm-yy'
,但它仅在我 select 来自选择器的日期时有效。有什么办法可以设置适当的日期格式,以便在编辑时将日期设置为 01-09-2018
,而不是 2018-09-01
?谢谢。
您必须在编辑模板上设置正确的格式。假设您将 form_for 与一个对象一起使用:
f.text_field :some_date, @object.some_date.to_formatted_s('dd-mm-yy')
那么初始日期将是日期选择器格式配置可以理解的日期。
您可以使用本地化减少硬编码:
f.text_field :some_date, l(@object.some_date, format: :input)
# `l` method is a shortcut for I18n.l, a shortcut for I18n.localize
然后在你的 es.yml 上设置一个日期格式(我猜你不是在开发一个英文应用程序给定的格式):
es:
date:
formats:
input: 'dd-mm-yy'
这样您就可以在一个地方更改格式,甚至可以接受不同的语言(您也可以使用本地化格式而不是在脚本中对格式进行硬编码)。
我的数据库中有一个 table,其中有一列 date
。当我编辑此 table 时,输入的值具有以下格式:yy-mm-dd
。在我的 js 文件中,我初始化了日期选择器:
$('#date-input').datepicker({
numberOfMonths: 1,
isRTL : $('body').hasClass('rtl') ? true : false,
prevText: '<i class="fa fa-angle-left"></i>',
nextText: '<i class="fa fa-angle-right"></i>',
showButtonPanel: false,
dateFormat: 'dd-mm-yy'
});
如您所见,我指定了格式:dateFormat: 'dd-mm-yy'
,但它仅在我 select 来自选择器的日期时有效。有什么办法可以设置适当的日期格式,以便在编辑时将日期设置为 01-09-2018
,而不是 2018-09-01
?谢谢。
您必须在编辑模板上设置正确的格式。假设您将 form_for 与一个对象一起使用:
f.text_field :some_date, @object.some_date.to_formatted_s('dd-mm-yy')
那么初始日期将是日期选择器格式配置可以理解的日期。
您可以使用本地化减少硬编码:
f.text_field :some_date, l(@object.some_date, format: :input)
# `l` method is a shortcut for I18n.l, a shortcut for I18n.localize
然后在你的 es.yml 上设置一个日期格式(我猜你不是在开发一个英文应用程序给定的格式):
es:
date:
formats:
input: 'dd-mm-yy'
这样您就可以在一个地方更改格式,甚至可以接受不同的语言(您也可以使用本地化格式而不是在脚本中对格式进行硬编码)。