Datepicker minDate在为多语言进行重构后停止工作

Datepicker minDate stopped working after refactoring for multilingualism

本文关键字:重构 停止工作 语言 minDate Datepicker      更新时间:2023-09-26

上下文:我目前正在开发一个正在重构的应用程序,以便用户可以选择用一种或另一种语言显示它。一切都在经历"语言过渡",一切都很好。。。除了一些小部件。

问题:javascript中的minDate在引入语言变量后已停止协作。它应该显示当前日期,并用于确保dateEnd不能是当前日期/今天之前的日期(=minDate和=dateFrom),但现在已经不起作用了。

function initDatepickers(){
    $(".datepicker").datepicker({
        dateFormat: "dd-mm-yy",
        //minDate: 0,
    });
    $("#dateFrom").change(function(){
        $("#dateEnd").datepicker('option', 'minDate', $('#dateFrom').val());
    });
    $(".datepicker" ).datepicker("option",$.datepicker.regional[$("#language").val()]);
};

来自另一个Javascript文件的另一个代码片段,其中minDate不再工作:

    var dateToday = new Date();
$(".datepicker").datepicker({
    dateFormat:'dd-mm-yy',
    beforeShowDay: function(date){
        var day = date.getDay();
        var daysToDisable = [1,2,3,4,5,6];
        for (i = 0; i < daysToDisable.length; i++) {
            if ($.inArray(day, daysToDisable) != -1) {
                return [false];
            }
        }
        return [true];
    },
    minDate: dateToday
});

有人能解释minDate可能停止工作的原因吗?我缺少什么?提前感谢!如果你需要更多信息,请告诉我,我对javascript还很陌生,我希望我能足够清楚地解释我的问题。

问题似乎是一段我们不再使用的代码,但在重构多种语言之外的东西时忘记了删除!(作恶者位于.jsp中,所以问题不在javascript代码!

发生了什么:在.jsp页面上,会话被硬编码为false,而它需要是默认值。在这种情况下,当语言变量与datepicker一起使用时,它会受到干扰。

删除了将会话设置为false的代码后,一切都恢复了正常。