使用datetimepicker在rails 4中重新加载页面后更改日期格式

时间:2015-05-27 09:06:36

标签: jquery ruby-on-rails date ruby-on-rails-4 datetimepicker

我在我的应用中发现了一些奇怪的东西。

当我进入主页时: their documentation 然后点击搜索中的第二个字段并选择一些内容,显示的日期格式为“ dd-mm-yyyy ”。

但是当我点击左上角的'Wydarzeniadladefanceów'日期格式正在变为' dd / mm / yyyy '。 我注意到区域设置出现在URL中,但不知道它是否会对该行为产生影响。

更重要的是,当我在此之后刷新页面时,日期格式就开始了。

什么可能导致该输入的奇怪行为?

修改

我认为的代码:

<div class="form-group">
      <label class="sr-only" for="date">Email</label>
      <%= text_field_tag :date,
                         params[:date],
                         placeholder: 'Kliknij, aby wybrać datę',
                         class: 'form-control input-lg date',
                         :data => {
                                 provide: 'datepicker'
                         }
      %>
    </div>

我的javascript:

    /* Search date */
if ($('body.homepage').length) {
    $('.date').datepicker({
        'language': "pl",
        'todayHighlight': true,
        'format': 'dd-mm-yyyy',
        'autoclose': true
    })
}

2 个答案:

答案 0 :(得分:1)

由于turbolinks而发生了这种情况,请关闭左上角“Wydarzeniadlaheaków”链接的turbolinks。在标题中,您的链接位于具有navbar-header类的div下。对该div元素添加data-no-turbolink,例如

<div class="navbar-header" data-no-turbolink>

这将解决您的问题!

在你的js文件中,像这样加载javascript

ready = function(){

  /* Search date */
  if ($('body.homepage').length) {
    $('.date').datepicker({
        'language': "pl",
        'todayHighlight': true,
        'format': 'dd-mm-yyyy',
        'autoclose': true
    });
  }  
}
$(document).ready(ready);
$(document).on('page:load', ready);

这是最好的解决方案。

希望这有帮助!

答案 1 :(得分:1)

通过在表单中​​添加以下代码可以解决您的问题。

<script type="text/javascript"> 
  $( document ).ready(function() { 
    $("#date").datepicker({ 
      'language': "pl",
      'todayHighlight': true,
      'format': 'dd-mm-yyyy',
      'autoclose': true
    }) 
  }); 
</script>