jQuery.datepicker在第二次调用时未定义

时间:2019-05-03 11:07:41

标签: javascript jquery datepicker

我的目标

我正试图通过使某些日期不可点击来从日期选择器中排除某些日期。

堆栈溢出使我无法通过以下方式进行操作:Example code I used (by stack overflow)

我的代码:

var myDates = ["05-05-2019","06-05-2019","07-05-2019"]

$('.datepicker').datepicker({
    beforeShowDay: function(date){
        var string = jQuery.datepicker.formatDate('dd-mm-yyyy', date);
        return [ myDates.indexOf(string) == -1 ]
    }
});

我遵循了示例代码,无论我为解决该问题采取的行动如何,都会弹出以下错误消息:

  

TypeError:jQuery.datepicker未定义

预期输出:

出现日期选择器,并继续阻止我在myDates中指定的三天。

其他信息:

日期选择器已经显示。因此,datepicker应该可以正常工作。我认为必须出错的部分应该在此行上:jQuery.datepicker.formatDate

我已经在网上搜索了所有内容,但似乎找不到与我有相同问题的人。如果您能帮助我找出问题所在,将不胜感激。我知道这个问题听起来很简单。我对为什么这不起作用感到困惑。

1 个答案:

答案 0 :(得分:0)

我的解决方案是解决此问题。

我将我所有的array数据都放在了object中,并这样做了:

$('.datepicker').datepicker({
    dateFormat: "dd/mm/yy",
    beforeShowDay: function (date) {
        var day = date.getDate();
        var month = date.getMonth() + 1;
        var year = date.getFullYear();
        var fullDate = day + '-' + month + '-' + year;
        var bDisable = dates.indexOf(fullDate);
        if (bDisable >= 0) {
            return false;
        }
    }
});