是否有简单的方法可以从默认 ISO 格式 (yyyy-mm-dd) 更改 ActiveAdmin 日期过滤器显示格式?
问问题
5846 次
4 回答
9
您可以为 datepicker 提供额外的选项,而不是覆盖 js,如下所示:
= f.input :my_date, as: :datepicker, datepicker_options: { dateFormat: "mm/dd/yy" }
于 2014-12-22T19:27:27.280 回答
1
我固定的方式是这样的:
$ ->
# reset format
$('.datepicker:not(.hasDatepicker)').each ->
if $(@).val().length > 0
p = $(@).val().split('-')
$(@).val("#{p[2]}-#{p[1]}-#{p[0]}")
# change format
$(document).on 'focus', '.datepicker:not(.hasDatepicker)', ->
$(@).datepicker dateFormat: 'dd-mm-yy'
因此,首先将值从 yyyy-mm-dd 重置为 yyyy-mm-dd,然后在选择器上设置正确的格式。
希望这可以帮助某人。
这适用于 ActiveAdmin pre 1 与 just_datetime_picker gem
于 2015-12-31T08:46:44.153 回答
0
就在这里。我用js设置日期时间选择器对象的选项来做到这一点
$(document).ready(function() {
$(".datepicker").datepicker( "option", "dateFormat", 'D, d M yy' );
});
如果这样做,输入值将如下所示
Wed, 28 Nov 2012
http://docs.jquery.com/UI/Datepicker/formatDate这里是关于支持格式的手册
于 2012-11-07T09:16:18.000 回答
0
对于活动管理员过滤器..
在 Active Admin gem 中,文件:app/assets/javascripts/active_admin/pages/application.js.coffee,您将看到:
$ ->
$(document).on 'focus', '.datepicker:not(.hasDatepicker)', ->
$(@).datepicker dateFormat: 'yy-mm-dd'
例如,您可能需要修改 on focus 事件(文件:app/assets/javascripts/active_admin.js)。
$(document).ready(function(){
$(document).on('focus', '.datepicker.hasDatepicker', function() {
$(this).datepicker( "option", "dateFormat", "mm-dd-yy");
});
});
或者也许删除事件并重新初始化日期选择器,例如:
$(document).ready(function(){
// remove existing on focus events
$._data( $(document)[0], 'events').focusin = null;
// add new datepicker with format
$('.datepicker').datepicker({dateFormat: 'mm-dd-yy'});
});
于 2014-05-23T15:37:32.717 回答