带有Rails的jQuery Datepicker 4

我正在使用jQuery Datepicker gem,当我正在编辑一个有日期的记录时,它会出现意外行为.

当我创建新记录时,以mm / dd / yy格式输入日期.当我去编辑记录时,日期字段正在YYYY-DD-mm格式的日期字段中填充,我不明白为什么.也许这与Rails本身有关?

表中的Date列设置为Date,我认为这很好.在控制器中显示日期或某些内容时,我的视图中是否需要执行某些操作?

这是我的application.js文件中的内容

$(document).on('page:change',function () {
        $('#cust_dob').datepicker({
            changeMonth: true,changeYear: true,dateFormat: "mm/dd/yy",yearRange:  "1900:+0"
    });
});

任何帮助将非常感激.

解决方法

好的,我能够让这个工作.有两个问题.
首先,由于格式不同,日期并不总是保存到数据库表中.所以,我使用了隐藏字段并使用了数据贴纸的altFormat和altField选项.第二个问题是在编辑记录时格式化当前日期.这是使用strftime建议的DevDue实现的.所以,对于那些感兴趣的人,我认为是我的.不是说这是最好的方式,因为我还在学习RoR,但它有效:)

所以,我对日期的部分看法:

<div class="span2 input">
  <% dob_display = :dob %>
  <%= f.text_field dob_display,placeholder: "mm/dd/yyyy",required: true,id: "cust_dob",value: @customer.dob.try(:strftime,"%m/%d/%Y") %>
  <%= f.hidden_field :dob,id: "cust_dobalt" %>
</div>

我花了一段时间才意识到,除非hidden_​​field位于visble字段之后,否则它不起作用!

我的datepicker的application.js文件如下所示.注意altField和altFormat:

$(document).on('page:change',function () {
    $('#cust_dob').datepicker({
        changeMonth: true,yearRange:  "1900:+0",altField:   "#cust_dobalt",altFormat:  "yy-mm-dd",duration:   "slow"
    });
});

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...