在编辑表单上隐藏 Rails 4 上 jquery.timepicker 的空日期值

Posted

技术标签:

【中文标题】在编辑表单上隐藏 Rails 4 上 jquery.timepicker 的空日期值【英文标题】:hide empty date value for jquery.timepicker on Rails 4 on edit form 【发布时间】:2016-08-09 08:25:12 【问题描述】:

我正在使用 John Thornton 的 JQuery Timepicker,它作为“新”表单上的下拉菜单非常有用(这意味着下拉菜单会使用值“09:00 AM”填充输入字段。

但是,当我呈现 EDIT 表单并且 time_start 或 time_end 列有一个值时,输入字段会添加日期并且看起来像这样“2000-01-01 09:00:00 UTC ”。我可以单击下拉列表中的“09:00 AM”以更改输入,但我希望现有的 time_start 或 time_end 值在没有日期的情况下在输入字段中呈现。很奇怪。

我使用的是 rails 4.2 和 simple_form,我的 db 字段是时间字段,而不是日期时间。

这是我的导轨 sn-p:

project/edit.html.slim

 #newProjectTimeMenu
        .row
          .col-md-4.col-sm-6.col-xs-6
            = f.label :time_start, label: 'Time Start'
            .input-group.date
              span.input-group-addon
                i.fa.fa-clock-o
              =  f.text_field   :time_start, required: true, class: 'form-control time-end'
         
          .col-md-4.col-sm-4.col-xs-6.pr0
            = f.label :time_end, label: 'Time End'
            .input-group.date
              span.input-group-addon
                i.fa.fa-clock-o
              =  f.text_field   :time_end, required: true, class: 'form-control time-end'

这是我在同一页面上调用的 jquery:

  $('#newProjectTimeMenu .time-start, #newProjectTimeMenu .time-end').timepicker(
      'minuteStep': 30,
      'minTime': "09:00:00",
      'maxTime': "22:00:00",

      'defaultTime':  true,,
      );

工作解决方案: 感谢下面的答案,我有了解决方案......但我不得不将它翻译成“simple_form”说话。这是我正在使用的代码:

  =  f.text_field   :time_end, required: true, class: 'form-control time-end', value: "# f.object.time_end.strftime("%I:%M %p") rescue nil "

【问题讨论】:

【参考方案1】:

= f.text_field :time_start, required: true, class: 'form-control time-end'

请尝试添加:

input_html:  value: "# f.object.time_start.strftime("%I:%M %p") rescue nil " 

【讨论】:

太棒了!我需要稍微改变一下措辞(见我的回答),但你给了我真正的困难。谢谢!!!!

以上是关于在编辑表单上隐藏 Rails 4 上 jquery.timepicker 的空日期值的主要内容,如果未能解决你的问题,请参考以下文章

Rails 表单,如何使用 jquery 设置隐藏字段的值

带有 JQuery 的 Rails 5:带有显示和隐藏 JQuery 切换的表单最初会显示,但在我刷新页面后会隐藏起来

在移动设备上禁用 Bootstrap 日期选择器的键盘弹出窗口(Rails 4,Jquery)

使用 js/jquery 在 ruby​​ on rails 中隐藏 form_tag 上的提交按钮

Rails cocoon嵌套字段,在编辑表单上呈现每个字段旁边的现有图像

Rails 5.1 button_to helper生成查询字符串而不是隐藏表单