我正在学习 RoR 并将表单的文本框“映射”到字符串类型的数据模型字段,如下所示:
<%= form_for(@user) do |f| %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
....
<div class="actions">
<%= f.submit %>
</div>
<% end %>
但是,我有一个日期时间类型(dob)的字段,默认表单控件由五个我不喜欢的下拉列表组成,所以我想使用找到的foundation-datetimepicker-rails gem here 。
脚手架为日期时间类型生成的原始代码如下:
<div class="field">
<%= f.label :dob %><br>
<%= f.datetime_select :dob %>
</div>
但是,如何替换上面的内容以使用下面的 javascript 控件之类的内容来显示控件并将其链接到 dob 字段:
<input class="datetimepicker" type="text" >
<script type="text/javascript">$('.datetimepicker').fdatetimepicker()</script>
更新:按照下面 Mike Desjardins 的回答,日期时间选择器可以正常运行并显示,但是它位于现有内容之上。从下面的屏幕截图来看,日期时间选择器当前位于:
<%= f.label :company_id %>
_form.html.erb
<%= form_for(@note) do |f| %>
<div class="field">
<%= f.label :date %><br>
<%= f.text_field :date, :class => 'datetimepicker' %>
</div>
<div class="field">
<%= f.label :company_id %><br>
<%= f.select(:company_id, Company.order("name").map { |s| [s.name, s.id] }) %>
</div>
<div class="field">
<%= f.label :contact %><br>
<%= f.text_field :contact %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<%= link_to "home", root_path, { :class=>"button expand" } %>
<script type="text/javascript">
$(document).ready(function() {
$('.datetimepicker').fdatetimepicker();
});
</script>
<% end %>
原始 View
当前 View
最佳答案
这样的东西有用吗?
<div class="field">
<%= f.label :dob %><br>
<%= f.text_field :dob, :class => 'datetimepicker' %>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('.datetimepicker').fdatetimepicker();
});
</script>
关于javascript - 替换 Rails 表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34029199/