【问题标题】:setting minDate in datepicker in Rails在 Rails 的 datepicker 中设置 minDate
【发布时间】:2014-08-20 10:15:39
【问题描述】:

我需要将 minDate 属性应用到 Rails App 中的日期选择器作为今天的日期。

在 _admin_controls.html.erb 中

<%= f.input :end_date, wrapper: :append do %>
  <div id="datepicker" class="datepicker input-group edit-left">
    <%= f.text_field :end_date, :class => "datetime form-control" %>

application.js 包含

jQuery(document).on('focus', 'input.datetime', function() {
  opts = {format: 'M dd, yyyy', autoclose: true};
  jQuery(this).datepicker(opts);
  jQuery(".datepicker").css("z-index",10000);
});

只有 _admin_controls.html.erb 的 javascript 应该是什么?

【问题讨论】:

    标签: javascript jquery ruby-on-rails datepicker


    【解决方案1】:

    如果您使用的是 Jquery,那么您可以像这样设置日期:

    // 如果要设置日期,则将其分配给变量或创建函数并直接调用该函数。

    var currentDate = new Date();

    $("#mydate").datepicker().datepicker("setDate", new Date());

    【讨论】:

      【解决方案2】:

      我已经能够解决这个问题。 在 application.js 中,我删除了与 datepicker 及其库相关的代码并创建了一个新文件 datepicker.js

      datepicker.js 包含

      /* bootstrap datepicker */
      //= require bootstrap-datepicker/core
      //= require bootstrap-datepicker/locales/bootstrap-datepicker.es
      
      jQuery(document).on('focus', 'input.datetime', function() {
        opts =  {format: 'M dd, yyyy', autoclose: true};
        jQuery(this).datepicker(opts);
      });
      

      在 application.js 中

      //= require datepicker
      

      在 _admin_controls.html.erb 中,

      <%= f.input :end_date, wrapper: :append do %>
        <div id="datepicker" class="datepicker input-group edit-left">
          <%= f.text_field :end_date, :class => "datetime form-control", :'data-date-start-date' => Date.current.strftime('%m/%d/%Y') %>
      

      这会禁用特别是 _admin_controls 日期选择器的回溯选择。 :)

      【讨论】:

        【解决方案3】:

        应该这样做

        $('#start_date').datepicker({
                minDate: 0,
                onSelect: function (selected) {
                    $("#end_date").datepicker("option", "minDate", selected)
                }
            });
        

        结束日期是另一个框中允许选择最大日期的日期。

        【讨论】:

        • 我没有其他框,只有一个框可以选择结束日期。今天之前的日子应该被隐藏起来。基本上就是选择有效期。 example
        【解决方案4】:

        您可以将 rails 输入字段设置为以下内容:

         <%= f.datetime_local_field(:end_date, min: Time.now().to_s.slice(0,10) ) %>
        

        【讨论】:

          猜你喜欢
          • 2017-04-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-04
          • 1970-01-01
          • 1970-01-01
          • 2023-04-10
          • 1970-01-01
          相关资源
          最近更新 更多