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

时间:2016-01-08 09:42:26

标签: javascript jquery datepicker mindate

上下文 我目前正在处理正在重构的应用程序,以便用户可以选择以一种或另一种语言显示它。一切都经历了“语言转换”就好了......除了一些小部分。

问题: javascripts中的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很新,我希望我能够清楚地解释我的问题。

1 个答案:

答案 0 :(得分:0)

似乎问题是我们不再使用的一段代码,但在重构除了多语言之外的事情时忘了删除! ( the evil-doer位于.jsp中,所以问题不在于javascript代码!

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

删除将会话设置为false的代码后,所有内容都会再次起作用。