首页 > 解决方案 > jquery datepicker 的操作在与 datepicker 交互后消失

问题描述

我的目标是一个只显示年份的日期选择器。我的日期选择器:

$( "#datepicker" ).datepicker({
                    defaultDate: new Date(now.getFullYear(), now.getMonth() - 1, 1), 
                    changeMonth: false,
                    changeYear: true,
                    regional:"de",
                    dateFormat: 'yy',
                    beforeShow: function(el, dp) {
                        $('#ui-datepicker-div').toggleClass('hide-calendar', $(el).is('[data-calendar="false"]'));
                    },
                    onChangeMonthYear: function(year, month, instance) {
                        this.month = month;
                        this.year = year;
                        SelectDataPanel.submitRequest();
                        SelectDataPanel.saveState();
                    },
                });

理论上我可以使用

.ui-datepicker-month {
        display: none;
    }

为达到这个。但我希望日期选择器的功能和样式是可变的。这就是我尝试使用它的原因:

var all = document.getElementsByClassName('ui-datepicker-month');
                    for (var i = 0; i < all.length; i++) {
                        console.log("i = " + all[i])
                        all[i].style.display = 'none';
                    }

我可以在一个函数中执行。当我刷新我的一面时,它看起来应该如何,但是当我与日期选择器交互时,月份再次显示。那是我的问题。

标签: javascriptjquerydatepicker

解决方案


推荐阅读