【问题标题】:Rails: bootstrap-datetimepicker - How to show default value on cell?Rails:bootstrap-datetimepicker - 如何在单元格上显示默认值?
【发布时间】:2018-06-07 19:34:05
【问题描述】:

我已将 bootstrap-datetimepicker gem 添加到我的应用程序 (https://github.com/TrevorS/bootstrap3-datetimepicker-rails),它是原始 bootstrap-datetimepicker javascript 模块 (https://github.com/Eonasdan/bootstrap-datetimepicker) 的 gem 包。

虽然后端会在表单中填充初始日期时间值,但当页面渲染完成时,输入字段为空。 datetimepicker 模块按预期运行(即:打开日期和时间选择器的弹出窗口)。当我从页面中删除日期时间触发脚本代码时,初始值会按预期显示在网络表单上。

下面是erb模板代码sn-p:

  <div class="field editor-datetime">
    <%= f.label :auction_finish %><br>
    <%= f.text_field :auction_finish %>
  </div>

这是在客户端 PC 上呈现的页面 html 代码:

<div class="field editor-datetime">
    <label for="car_ad_auction_finish">Auction finish</label><br>
    <input type="text" value="2018-06-23 00:54:00 +0300" name="car_ad[auction_finish]" id="car_ad_auction_finish">
  </div>

以下是页面模板上的 datetimepicker 脚本。如您所见,我还尝试通过无效的选项填充默认时间。你知道可能出了什么问题吗???

<script>
$(function () {
    $('#car_ad_auction_finish').datetimepicker({
        defaultDate: "<%= @car_ad.auction_finish ? @car_ad.auction_finish.to_time.iso8601 : nil %>",
        locale: 'tr'
    });
});
</script>

【问题讨论】:

  • 你能提供一个示例 js fiddle 吗?

标签: javascript ruby-on-rails


【解决方案1】:

遇到了同样的问题,设法直接在 text_field 标签上设置单元格中的默认值:

<%= f.text_field :auction_finish,
          value: l(@car_ad.auction_finish, format: :datetime_picker) %>
<!-- l() is short for I18n.localize -->

使它起作用的事情是您的日期格式需要与以下指定格式相同:

$('.datetimepicker').datetimepicker({
        locale: 'fr',
        format: "DD-MM-YYYY H:mm"
    });

就我而言,它是“fr”语言环境,所以我在我的 config/locales/fr.yml 中设置:

time:
    am: am
    formats:
      default: "%d %B %Y %Hh %M"
      long: "%A %d %B %Y %Hh%M"
      short: "%d %b %Hh%M"
      datetime_picker: "%d-%m-%Y %H:%M"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多