无法使用 Bootstrap-datepicker-rails 作为 "dd/mm/yyyy" 显示所选日期
Cannot display selected date using Bootstrap-datepicker-rails as "dd/mm/yyyy"
我正在尝试将 bootstrap-datepicker 放在我的应用程序的日期输入字段上。从日历中 select 编辑日期后,我希望日期显示为 'dd/mm/yyyy'。日期以 'yyyy-mm-dd' 格式保存在 table (sqlite) 中。
我做了以下事情:
在 application.js 文件中,我有:
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require turbolinks
//= require bootstrap-datepicker
//= require_tree .
在 application.html.erb 文件中,我有:
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
在custom.css.scss中,我有:
@import "bootstrap-sprockets";
@import "bootstrap";
在相关的 .js 文件中,我有:
$(document).on("focus", "[data-behaviour~='datepicker']", function(e){
$(this).datepicker({"format": "dd-mm-yy", "weekStart": 1, autoclose": true, "language": 'en-GB'})});
我也在 application.js 文件中尝试过此代码 - 但没有成功。
在相关表格中,我有:
<a> Start Date/time: </a>
<%= f.text_field :start_date, 'data-behaviour' => 'datepicker', size:10 %>
结果:我得到一个日历,我可以从中 select 一个日期,但日期显示为默认格式 "mm/dd/yyyy"。
其他尝试:我已将脚本放入表单中,但也没有用。
我们将不胜感激任何帮助。
提前致谢,
您可以使用 strftime
以 'dd/mm/yyyy'
格式打印日期
<a> Start Date/time: </a>
<%= f.text_field :start_date, value: (f.object.start_date.strftime("%d-%m-%Y") if f.object.start_date.present?), 'data-behaviour' => 'datepicker', size:10 %>
您可以将日期格式设置为数据属性,
<%= f.text_field :start_date, 'data-behaviour' => 'datepicker', size:10, 'data-date-format' => "mm/dd/yyyy")
我也遇到过这种情况,我想要一种日期格式在文本字段中显示日期,而另一种格式来保存日期。
所以我的解决方法如下
声明不同的字段来接受日期和保存日期。
这里我的接受字段是“select_date”,实际字段是“date”
= text_field_tag :select_date, '', :class => "datepicker"
= hidden_field_tag("date", "", :id => "request_date")
简单的脚本帮助我在这两个领域都节省了价值。
$(function() {
$(".datepicker").datepicker({
dateFormat: 'DD MM d',
altField: '#request_date',
altFormat: "yy-mm-dd"
});
});
所以当您在日历中 select 值时,它会以不同的格式填充两个字段。
我正在尝试将 bootstrap-datepicker 放在我的应用程序的日期输入字段上。从日历中 select 编辑日期后,我希望日期显示为 'dd/mm/yyyy'。日期以 'yyyy-mm-dd' 格式保存在 table (sqlite) 中。
我做了以下事情:
在 application.js 文件中,我有:
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require turbolinks
//= require bootstrap-datepicker
//= require_tree .
在 application.html.erb 文件中,我有:
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
在custom.css.scss中,我有:
@import "bootstrap-sprockets";
@import "bootstrap";
在相关的 .js 文件中,我有:
$(document).on("focus", "[data-behaviour~='datepicker']", function(e){
$(this).datepicker({"format": "dd-mm-yy", "weekStart": 1, autoclose": true, "language": 'en-GB'})});
我也在 application.js 文件中尝试过此代码 - 但没有成功。
在相关表格中,我有:
<a> Start Date/time: </a>
<%= f.text_field :start_date, 'data-behaviour' => 'datepicker', size:10 %>
结果:我得到一个日历,我可以从中 select 一个日期,但日期显示为默认格式 "mm/dd/yyyy"。
其他尝试:我已将脚本放入表单中,但也没有用。
我们将不胜感激任何帮助。
提前致谢,
您可以使用 strftime
以'dd/mm/yyyy'
格式打印日期
<a> Start Date/time: </a>
<%= f.text_field :start_date, value: (f.object.start_date.strftime("%d-%m-%Y") if f.object.start_date.present?), 'data-behaviour' => 'datepicker', size:10 %>
您可以将日期格式设置为数据属性,
<%= f.text_field :start_date, 'data-behaviour' => 'datepicker', size:10, 'data-date-format' => "mm/dd/yyyy")
我也遇到过这种情况,我想要一种日期格式在文本字段中显示日期,而另一种格式来保存日期。
所以我的解决方法如下
声明不同的字段来接受日期和保存日期。 这里我的接受字段是“select_date”,实际字段是“date”
= text_field_tag :select_date, '', :class => "datepicker"
= hidden_field_tag("date", "", :id => "request_date")
简单的脚本帮助我在这两个领域都节省了价值。
$(function() {
$(".datepicker").datepicker({
dateFormat: 'DD MM d',
altField: '#request_date',
altFormat: "yy-mm-dd"
});
});
所以当您在日历中 select 值时,它会以不同的格式填充两个字段。