Javascript 根据下拉列表中选择的值设置datetimepicker格式
我希望datetimepicker仅显示用户在下拉列表中选择“天”时的天,并显示用户选择“月”时的月 代码位于haml文件中:Javascript 根据下拉列表中选择的值设置datetimepicker格式,javascript,jquery,ruby-on-rails,datepicker,haml,Javascript,Jquery,Ruby On Rails,Datepicker,Haml,我希望datetimepicker仅显示用户在下拉列表中选择“天”时的天,并显示用户选择“月”时的月 代码位于haml文件中: = select_tag 'date_format', options_for_select(["Days", "Months"]), onchange: "myFunction()" = text_field_tag :from, class: 'datepick' :javascript function myFunction() { var
= 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 :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"
});
}
}
如果您不了解问题,请将类日期选择添加到您的选择标记中。在选择“月”的情况下,我得到一个只有月的日历-这很好。但如果选择“天”,我会得到两个日历——一个只有月,另一个有天。