【问题标题】:jQuery.datepicker is undefined on second calljQuery.datepicker 在第二次调用时未定义
【发布时间】:2019-05-03 11:07:41
【问题描述】:

我的目标

我试图通过让某些日期无法点击来从我的日期选择器中排除它们。

堆栈溢出迫使我通过以下方式这样做: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 中指定的三天。

其他信息:

日期选择器已经出现。因此,日期选择器应该可以正常工作。我认为它一定出错的部分应该在这一行:jQuery.datepicker.formatDate

我搜索了整个网络,似乎没有找到与我有相同问题的人。如果你能帮助我找出哪里出了问题,那将不胜感激。我知道这个问题听起来很简单。我很困惑为什么这不起作用。

【问题讨论】:

  • 你确定datepicker js链接正确吗?
  • 我不知道这里有什么问题,在“我使用的示例代码”示例中它可以正常工作...
  • 也许你错过了jquery-ui.min.js
  • 最好的选择是编辑帖子并添加您拥有的所有代码。
  • @Marty 你怎么称呼你的代码?什么时候执行?

标签: javascript jquery datepicker


【解决方案1】:

我的解决方案是解决这个问题。

我将我所有的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;
        }
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-14
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 2022-01-11
    • 2015-12-06
    相关资源
    最近更新 更多