javascript - 如何在文本字段中输入日期选择器的值

标签 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 %>

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

但是,此后的每个任务都无法从日期选择器接收输入。当我选择一个日期时,文本字段是空白的,它不会传递到 Controller 中。当我在 Web 控制台中调试时,“值”=“”。

最佳答案

这是在多个字段上使用日期选择器的 JQuery 问题。这不是 Rails 的错...

我认为您需要的答案是“Apply jQuery datepicker to multiple instances”:将唯一的 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();
});

关于javascript - 如何在文本字段中输入日期选择器的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30607997/

相关文章:

javascript - 如何在 AngularJS 中从不同 Controller 传递所选值

ruby-on-rails - 什么 Rails OAuth 2 服务器解决方案允许使用相同的 Controller 与 OAuth 和基于表单的身份验证?

ruby-on-rails - Rails:包含多态关联

javascript - JS 函数将 Javascript 返回给浏览器而不是预期的 Ajax post

javascript - Google Maps API 错误,页面代码未更改

javascript - jQuery - 如何修复多个按钮的不同事件?

ruby-on-rails - 1 个 CPU 上的 Ruby Rack 应用程序——我应该运行多少个进程?

javascript - AngularJS根据页面innerWidth改变主体宽度

javascript - 如何在一个地方写一个导航栏,并用 html/css/js 在所有页面上使用它

jquery - javascript select2 允许的标签