【问题标题】:Jquery Datepicker Rails 3 date format issueJquery Datepicker Rails 3日期格式问题
【发布时间】:2012-07-16 13:33:54
【问题描述】:

我正在尝试将 JQuery UI 日期选择器用于创建事件的表单。

表单本身呈现良好,如果我使用正常的 rails date_field,则信息将被保存而没有任何问题。但是,当我尝试使用 datepicker 时,它指出表单不能为空,即使我已经选择了一个日期。我意识到这是由于 rails 和 datepicker 使用的日期格式不同,所以我尝试了以下代码:

$(function(){
    $("#dateField").datepicker({
        dateFormat: "yyyy-mm-dd"
    });
}); 

但这似乎没有奏效。日期仍以 datepickers 默认格式显示,并将该格式作为参数传递,这会导致错误。任何指针将不胜感激!

【问题讨论】:

    标签: jquery ruby-on-rails ruby-on-rails-3 datepicker


    【解决方案1】:

    几个月前我也遇到过类似的问题。

    试试这个格式:

    $(function (){
    $('#dateField').datepicker({ dateFormat: 'D, dd M yy' });
    });
    

    它适用于我所有的 Rails 应用程序。

    编辑

    还要确保保存日期(在数据库上)的列的数据类型设置为string 而不是date

    【讨论】:

    • 恐怕这似乎也不起作用。问题是无论我做什么,日期选择器都不会改变日期格式,所以它仍然在页面上呈现为 mm-dd-yy,并将它们作为参数传递......
    • 您对数据库中的列使用的数据类型是什么?您应该将其设置为 string 而不是 date
    • 虽然这并不能真正告诉我为什么日期选择器没有改变它的格式。
    • 这就是问题所在... rails 期待像2012-07-16 15:51:01 +0100 这样的东西。将其更改为字符串,您将能够保存所需的任何格式。使用 jQuery-UI 时有时需要重启服务器才能看到变化。
    【解决方案2】:

    请澄清什么不起作用?日历没有出现? 试试这个代码

    jQuery(document).ready(function($) {
        $("#dateField").datepicker({
            dateFormat: "yyyy-mm-dd"
        });
    
    })
    

    什么是默认格式?

    【讨论】:

    • rails 的默认日期格式是 yyyy-mm-dd,而使用 datepicker 我相信它是 mm-dd-yy。基本上,表单会返回一个错误,指出每当我尝试使用日期选择器时,日期不能为空,即使我已经选择了一个日期
    • 目前表单还显示 Jquery UI 日期选择器仍将日期格式设置为 mm-dd-yyyy,因此很明显没有设置日期格式。
    【解决方案3】:

    答案已经过时,我使用过 Postgres 和 Datetime 字段
    {format: "dd/mm/yyyy"} 它确实奏效了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-08
      • 2012-04-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-04
      • 2016-06-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多