【发布时间】:2013-08-25 07:43:47
【问题描述】:
这两天我一直在摸不着头脑,我很确定我只是错过了一些简单的东西,但我一生都无法弄清楚为什么它不起作用。
我正在尝试在我的 WordPress 网站上使用以下脚本来禁用 ContactForm7 表单中日期选择器字段中的特定日期。
我可以使用相同的 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
});
});
非常感谢您提供的任何帮助...这似乎是一件很简单的事情,但我似乎无法理解它!
【问题讨论】:
-
您的网站是否包含 jquery ui 库?
-
@maverickosama92 是的,我相信这是
wp_head()调用的一部分...当我查看页面的源代码时,我可以看到它正在调用核心 jquery ui 以及一堆特定的 jquery ui 模块 -
除了 jQuery UI 日期选择器之外,它看起来像所有东西都包含在您的网站上。可能想看看那个。核心不自动包含日期选择器i.imgur.com/Hd9FdsL.png
-
@vernak2539 所以这是日期选择器本身的问题,而不是脚本的问题?日期选择器包含在我正在使用的 ContactForm7 插件中......它似乎可以正常选择日期(在支持它的浏览器中......我无法让日期选择器在 Firefox/IE/ 中工作Safari,但它在 Chrome/Opera 中运行良好)但我似乎无法让这个日期禁用脚本使用它
-
@Iconoclast 问题是没有包含 datepicker 文件,并且 jquery 没有该功能可用。因此类型错误。它在 chrome/opera 中工作的原因是因为输入类型是他们目前支持的“日期”,但 FF/IE/Safari 不支持,所以这就是你看到的原因。
标签: javascript jquery wordpress jquery-ui datepicker