【问题标题】:Cannot display selected date using Bootstrap-datepicker-rails as "dd/mm/yyyy"无法使用 Bootstrap-datepicker-rails 将所选日期显示为“dd/mm/yyyy”
【发布时间】:2016-01-23 05:37:30
【问题描述】:

我正在尝试将 bootstrap-datepicker 放在我的应用程序的日期输入字段中。从日历中选择日期后,我希望日期显示为“dd/mm/yyyy”。日期以 'yyyy-mm-dd' 格式保存在表 (sqlite) 中。

我做了以下事情:

在 application.js 文件中,我有:

   //= require jquery
   //= require jquery_ujs
   //= require jquery-ui
   //= require turbolinks
   //= require bootstrap-datepicker
   //= require_tree .

在 application.html.erb 文件中,我有:

    <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
    <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>

在 custom.css.scss 中,我有:

  @import "bootstrap-sprockets";
  @import "bootstrap";

在相关的 .js 文件中,我有:

   $(document).on("focus", "[data-behaviour~='datepicker']", function(e){
   $(this).datepicker({"format": "dd-mm-yy", "weekStart": 1, autoclose": true, "language": 'en-GB'})});

我也在 application.js 文件中尝试过这段代码 - 没有运气。

在相关表格中,我有:

    <a> Start Date/time: </a>
    <%= f.text_field :start_date, 'data-behaviour' => 'datepicker', size:10 %>

结果:我得到一个日历,我可以从中选择一个日期,但日期显示为默认格式“mm/dd/yyyy”。

其他尝试:我已将脚本放入表单中,但也没有用。

我们将不胜感激任何帮助。

提前谢谢你,

【问题讨论】:

    标签: ruby-on-rails bootstrap-datepicker


    【解决方案1】:

    我也遇到过这种情况,我希望一种日期格式在文本字段中显示日期,另一种格式来保存日期。

    所以我的工作如下

    声明不同的字段以接受日期和保存日期。 这里我的接受字段是“select_date”,实际字段是“date

    = text_field_tag :select_date, '', :class => "datepicker"
    = hidden_field_tag("date", "", :id => "request_date") 
    

    简单的脚本可以帮助我在这两个字段中保存价值。

    $(function() {
      $(".datepicker").datepicker({ 
        dateFormat: 'DD MM d',
        altField: '#request_date',
        altFormat: "yy-mm-dd"
      });
    });
    

    因此,当您在日历中选择值时,它会以不同的格式填充两个字段。

    【讨论】:

    • 非常感谢柴坦亚·萨拉夫。这是唯一对我有用的解决方案,尽管下面的其他答案看起来应该有效。我还必须将函数作为
    • 很高兴听到它对您有用,感谢您接受我的回答
    【解决方案2】:

    您可以将日期格式设置为数据属性,

    <%= f.text_field :start_date, 'data-behaviour' => 'datepicker', size:10, 'data-date-format' => "mm/dd/yyyy")
    

    【讨论】:

      【解决方案3】:

      您可以使用strftime'dd/mm/yyyy' 格式打印日期

      <a> Start Date/time: </a>
      <%= f.text_field :start_date, value: (f.object.start_date.strftime("%d-%m-%Y") if f.object.start_date.present?), 'data-behaviour' => 'datepicker', size:10 %>
      

      【讨论】:

        猜你喜欢
        • 2021-08-16
        • 2019-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-16
        • 1970-01-01
        • 2012-12-20
        • 1970-01-01
        相关资源
        最近更新 更多