在Rails中的datepicker中设置minDate

时间:2014-08-20 10:15:40

标签: javascript jquery ruby-on-rails datepicker

我需要将minDate属性应用于Rails应用程序中的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" %>

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做什么?

4 个答案:

答案 0 :(得分:1)

如果您正在使用Jquery,那么您可以设置如下日期:

  

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

     

var currentDate = new Date();

     

$(“#mydate”)。datepicker()。datepicker(“setDate”,new Date());

答案 1 :(得分:1)

我已经能够解决问题了。 在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 datepicker的backdate选择。 :)

答案 2 :(得分:0)

这应该这样做

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

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

答案 3 :(得分:0)

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

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