我在我的网站周围使用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”。怎么能实现呢?
答案 0 :(得分:6)
要使用html5日期字段,您可以执行以下操作:
= f.input :dob, as: :string, input_html: {type: :date}
答案 1 :(得分:5)
你通过了:作为错误的参数。 使用字符串类型将创建一个字段而不是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]
答案 2 :(得分:1)
最好的解决方案是使用jquery datepicker。默认的datepicker返回此格式。并且您的简单表单输入应该是普通文本字段。非常简单的解决方案
答案 3 :(得分:0)
最佳解决方案是带有可选日期选择器的文本。
检查此Railscast http://railscasts.com/episodes/213-calendars
答案 4 :(得分:0)
使用jquery datepicker:
= f.input :dob
和
$(function() {
$("input#id_of_dob_field").datepicker();
});
答案 5 :(得分:0)
如何添加html5:true选项?将给您一个字段。确实看起来有点可笑。
public getArrivalsReportSevenDayForecast(selectedDate1 : Date): Observable<ArrivalsReportSevenDayForecastModel[]> {
const params = new HttpParams();
const day = selectedDate1.getDate();
const month = selectedDate1.getMonth() + 1 // Remember this increment
const year = selectedDate1.getFullYear();
const data = this.svcHttp.get<ArrivalsReportSevenDayForecastModel[]>(this.routePrefix +
`/arrivalreportsevendayforecast/${day}/${month}/${year}`, { params: params }).pipe(
map<ArrivalsReportSevenDayForecastModel[], ArrivalsReportSevenDayForecastModel[]>(arrivingList => {
// do mapping here if needed
return arrivingList;
}),
catchError((err) => this.svcError.handleError(err)));
return data;
}