如何在文本字段中输入datepicker的值

时间:2015-06-02 22:56:38

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

我有一个任务列表,每个任务都有一个编辑日期选项,我使用jquery datepicker。

这是我的application.js:

$(function() {
   $('.date').datepicker({dateFormat: 'yy-mm-dd'});
});

这是我的_edit_form.html.erb:

<%= form_for task do |f| %>
  <div class='form-group'>
    <%= f.text_field :description, placeholder: 'create a task' %>
  </div>
  <div class='form-group'>
    <%= f.label :due_date %>
    <%= f.text_field :due_date, placeholder: 'select a date', class:"date", readonly: 'readonly' %>
  </div>
  <%= button_tag(type:'patch', class:"btn btn-default btn-xs") do %>
    <span class='glyphicon glyphicon-plus'></span>
  <% end %>

<% end %>

所以我的问题是,datepicker只适用于我列表中的第一个任务。我可以选择日期,它会显示在文本字段中,然后它就会很好地传递到我的task#update控制器中。

但是,之后的每项任务都无法从datepicker接收输入。当我选择日期时,文本字段为空白,并且它不会进入控制器。当我在Web控制台中调试时,&#39;值&#39; =&#34;&#34;。

1 个答案:

答案 0 :(得分:0)

这是在多个字段上使用datepicker的JQuery问题。这不是Rails的错......

我认为您需要的答案是&#34; Apply jQuery datepicker to multiple instances&#34;:为每个字段附加一个唯一的id,然后按如下方式编写该函数的脚本:

HTML:

<input type="text" class="datepick" id="date_1" />
<input type="text" class="datepick" id="date_2" />
<input type="text" class="datepick" id="date_3" />

脚本:

$('.datepick').each(function(){
  $(this).datepicker();
});