管理菜单上未显示jQuery日期选择器

时间:2015-12-17 作者:Juan Fuentes

当我选择datepicker字段时,不会发生任何事情。

这是该字段的代码:

<input id="sticky_date" name="sticky_date" class="datepicker hasDatepicker" type="text">
javascript

jQuery(function() {
  jQuery( \'.datepicker\' ).datepicker({
    changeMonth: true,
    changeYear: true,
    yearRange: "-100:-10"
  });
});
包含代码

add_action(\'admin_head\', \'admin_datepicker\');
function admin_datepicker() {
  wp_register_script(
    \'pub-datepicker\',
    get_template_directory_uri().\'/js/datepicker.js\',
    array( \'jquery-ui-core\', \'jquery-ui-datepicker\' ),
    false,
    true
  );
  wp_enqueue_script(\'pub-datepicker\');
}
我不确定我是否遗漏了什么,js控制台上没有错误,什么都没有发生

3 个回复
最合适的回答,由SO网友:Juan Fuentes 整理而成

我发现了问题。我的输入字段声明如下:

<input id="sticky_date" name="sticky_date" class="datepicker hasDatepicker" type="text">

事实证明hasDatepicker 当显示日期选择器弹出窗口时,由js分配,因此当我单击它时,什么也没有发生,因为它基本上“认为”弹出窗口已经显示。我只是将其更改为:

<input id="sticky_date" name="sticky_date" class="datepicker" type="text">

SO网友:ville6000

使用admin_enqueue_scripts 操作而不是admin_head. 然后查看包含日期选择器脚本的开发工具中的网络选项卡。

您还需要包含jQuery UI CSS,它不包含在WP核心中。

SO网友:WPTC-Troop

如果我的猜测是正确的,您可能已经在元素之前包含并执行了它(.datepicker) 存在。请使用jQuery( document ).ready(function() 作用

jQuery( document ).ready(function() {
  jQuery( \'.datepicker\' ).datepicker({
    changeMonth: true,
    changeYear: true,
    yearRange: "-100:-10"
  });
});
尝试上述操作,如果您在控制台中看到任何错误,请告诉我们。

相关推荐

Wp-admin在将安装移到子目录后重定向到子目录

我已将wordpress安装移动到子目录,从var/www/html 到var/www/html/wp-blog 主要是为了证明未来。我已经按照codex. 我的服务器配置如下我有一个nginx反向代理,它将调用定向到blog.mysite.com 至端口8080</Apache在8080上侦听我修改了.htaccess 根据法典中给出的内容,如下所示。htaccess<IfModule mod_rewrite.c> RewriteEngine on RewriteCon