我希望datetimepicker仅显示用户选择" Days"在下拉菜单中显示月份,如果用户选择"月份"。
代码在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")?
答案 0 :(得分:0)
尝试使用'dateFormat'和'formatDate'选项代替'format'
答案 1 :(得分:0)
我找到的唯一选择是创建另一个text_field_tag并隐藏/显示它:
= 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"
});
}
}