5

我正在将 ruby​​ gem simple_form 用于我网站周围的不同表单,并且想知道是否有一种方法可以组合/折叠默认呈现的日期输入:

= f.input :dob, label: "Date of Birth", as: :date, start_year: Time.now.year - 90, end_year: Time.now.year - 8, order: [:day, :month, :year]

此代码生成三个输入字段:日、月和年。但我真正想要的是为所有三个字段设置一个字段,因此输入可能看起来像“05/05/1980”。怎样才能做到这一点?

4

6 回答 6

8

为了使用 html5 日期字段,您可以执行以下操作:

= f.input :dob, as: :string, input_html: {type: :date}
于 2015-07-24T09:17:23.653 回答
6

你通过 :as 错误的参数。使用字符串类型将创建一个字段而不是 3 个字段。

= f.input :dob, label: "Date of Birth", as: :string, start_year: Time.now.year - 90, end_year: Time.now.year - 8, order: [:day, :month, :year]
于 2013-11-09T13:41:32.003 回答
1

最好的解决方案是使用 jquery datepicker。默认日期选择器返回此格式。并且您的简单表单输入应该是普通的文本字段。漂亮而简单的解决方案

于 2013-11-07T11:58:24.013 回答
0

使用 jquery datepicker 作为:

= f.input :dob

$(function() {
  $("input#id_of_dob_field").datepicker();
});
于 2014-01-18T08:10:18.393 回答
0

最好的解决方案是带有可选日期选择器的文本。

检查这个 Railscast http://railscasts.com/episodes/213-calendars

于 2013-11-07T13:37:22.590 回答
0

添加 html5: true 选项怎么样?会给你一个单一的领域。不过看起来有点好笑。

= f.input :dob, label: "Date of Birth", as: :date, start_year: Time.now.year - 90, end_year: Time.now.year - 8, order: [:day, :month, :year], html5: true
于 2020-05-12T01:59:26.360 回答