根据下拉列表中选择的值设置日期时间选择器格式
Set datetimepicker format depending on the chosen value in dropdown
如果用户在下拉列表中选择 "Days",我希望日期时间选择器仅显示天数,如果用户选择 "Months",则显示月份。
代码在 haml 文件中:
= select_tag 'date_format', options_for_select(["Days", "Months"]), onchange: "myFunction()"
= text_field_tag :from, class: 'datepick'
:javascript
function myFunction() {
var value = document.getElementById("date_format").value;
if (value == "Days") {
$(".datepick").datepicker("destroy");
$(".datepick").datetimepicker({
format: 'd.m.Y'
});
} else if (value == "Months") {
$(".datepick").datetimepicker("destroy");
$(".datepick").datepicker({
format: "mm/yyyy"
});
}
}
目前效果不佳。请帮助我找出我犯了错误的地方。如何覆盖 (".datepick")?
尝试使用 'dateFormat' 和 'formatDate' 选项而不是 'format'
我找到的唯一选择是创建另一个 text_field_tag 和 hide/show 它:
= text_field_tag :from, class: 'datepick'
= text_field_tag :from, class: 'datetimepick'
:javascript
function myFunction() {
var value = document.getElementById("date_format").value;
if (value == "Days") {
$(".datepick").hide();
$(".datetimepick").show();
$(".datetimepick").datetimepicker({
format: 'd/m/Y'
});
} else if (value == "Months") {
$(".datetimepick").hide();
$(".datepick").show();
$(".datepick").datepicker({
format: "mm/yyyy"
});
}
}
如果用户在下拉列表中选择 "Days",我希望日期时间选择器仅显示天数,如果用户选择 "Months",则显示月份。
代码在 haml 文件中:
= select_tag 'date_format', options_for_select(["Days", "Months"]), onchange: "myFunction()"
= text_field_tag :from, class: 'datepick'
:javascript
function myFunction() {
var value = document.getElementById("date_format").value;
if (value == "Days") {
$(".datepick").datepicker("destroy");
$(".datepick").datetimepicker({
format: 'd.m.Y'
});
} else if (value == "Months") {
$(".datepick").datetimepicker("destroy");
$(".datepick").datepicker({
format: "mm/yyyy"
});
}
}
目前效果不佳。请帮助我找出我犯了错误的地方。如何覆盖 (".datepick")?
尝试使用 'dateFormat' 和 'formatDate' 选项而不是 'format'
我找到的唯一选择是创建另一个 text_field_tag 和 hide/show 它:
= text_field_tag :from, class: 'datepick'
= text_field_tag :from, class: 'datetimepick'
:javascript
function myFunction() {
var value = document.getElementById("date_format").value;
if (value == "Days") {
$(".datepick").hide();
$(".datetimepick").show();
$(".datetimepick").datetimepicker({
format: 'd/m/Y'
});
} else if (value == "Months") {
$(".datetimepick").hide();
$(".datepick").show();
$(".datepick").datepicker({
format: "mm/yyyy"
});
}
}