JS/jQuery TypeError:jQuery(...).datepicker不是函数

Ico*_*ast 13 javascript wordpress jquery jquery-ui datepicker

我一直在摸不着头两天,很确定我只是错过了一些简单的东西,但我不能为我的生活弄清楚为什么它不起作用.

我正在尝试使用下面的WordPress网站上的脚本来禁用ContactForm7表单中的datepicker字段中的特定日期.

我可以使用相同的id在一个简单的输入字段中加载jsfiddle中的脚本并且它完美地运行...但是当我将它添加到我的站点时,日期不会被禁用,并且JS错误控制台中出现错误,说" jQuery(...).datepicker不是一个函数"

我已经将它添加到我的header.php文件中,就在wp_head()电话下方和</head>标签上方.我已经为我的datepicker字段分配dpick了脚本使用的id .

我读的是使用时,这个错误的常见原因$符号,因为它可以在WordPress等jQuery的脚本......冲突所以他们建议更换$jQuery替代(这是我在下面的脚本已经做了)......但我仍然得到错误

var unavailableDates = ["1-9-2013", "2-9-2013", "3-9-2013", "4-9-2013", "5-9-2013"];

    function unavailable(date) {
            dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
            if (jQuery.inArray(dmy, unavailableDates) == -1) {
                return [true, ""];
            } else {
                return [false, "", "Unavailable"];
        }
    }

        jQuery(function() {
            jQuery( '#dpick' ).datepicker({
                dateFormat: 'dd MM yy',
                beforeShowDay: unavailable
        });

    });
Run Code Online (Sandbox Code Playgroud)

不能感谢你足够的任何帮助你可以提供...这似乎是一件很简单的事情,但我似乎无法绕过它!

nap*_*nss 21

导致此错误的原因有以下几种:

  1. 在jquery之前使用jquery.ui.
  2. $由另一个库使用.
  3. 本地引用的jquery lib(wordpress)与使用jquery.ui的版本不同.
  4. 引用正确的库和版本时,必须清除浏览器缓存.


Len*_*rri 6

我遇到了同样的问题.在我的例子中,我的主页上有两个jQuery脚本引用(_Layout.cshtml在ASP.NET MVC中).我在顶部添加了1个jQuery引用,但页面底部有1个我没有注意到的...在Firebug中这是我所看到的:

在此输入图像描述

所以你可以看到,jQuery UI正处于冲突的中间!:D我花了一些时间才弄明白.


小智 1

我对 WordPress 没有太多经验,所以我可能无法提供帮助。不过我用过pickadate。

过去我曾经遇到过这个错误

未捕获的类型错误:对象 [object Object] 没有方法“datepicker”

这通常是因为我没有按照正确的顺序加载 js 文件。查看您网站上的开发人员工具,我什至看不到 pickadate 插件的加载位置。我会检查(如果您还没有)以确保插件正在加载以及以正确的顺序加载。