jQuery UI DatePicker无法在插件管理页面上工作

时间:2017-08-14 14:14:04

标签: jquery wordpress jquery-ui datepicker

我的第一个StackOverflow问题 - 如果有错误道歉。我知道有很多关于在插件中注册/使用datepicker的问题,但没有一个能解决我的问题。

这是我孩子主题的函数中的代码.php

// load jQuery date picker for public and admin pages
function wp_sos_enqueue_front_datepicker() {
    wp_enqueue_script('jquery-ui-datepicker');
    wp_enqueue_style('jquery-ui-css', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css');
}
function wp_sos_enqueue_back_datepicker() {
    wp_enqueue_script('jquery-ui-datepicker');
    wp_enqueue_style('jquery-ui-css', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css');
}
add_action( 'admin_enqueue_scripts', 'wp_sos_enqueue_back_datepicker' );
add_action( 'wp_enqueue_scripts', 'wp_sos_enqueue_front_datepicker' );

在我的前端表单中,我有这个HTML:

<input type="text" readonly="readonly" id="sstxtdate"/>

在js中我有这个:

jQuery('#sstxtdate').datepicker({ dateFormat: 'yy-mm-dd' });

以上作品。

在我的管理页面表单中,我有这个HTML:

<input type="text" readonly="readonly" value="2017-07-09" id="txtrsdate"/>

当我执行这个js时

jQuery('#txtrsdate').datepicker({ dateFormat: 'yy-mm-dd' });

我在控制台上出现此错误

Uncaught TypeError: jQuery(...).datepicker is not a function
    at Object.<anonymous> (recent-sightings-admin.js?ver=1.0.0:78)
    at i (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils&ver=4.8.1:2)
    at Object.fireWith [as resolveWith] (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils&ver=4.8.1:2)
    at y (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils&ver=4.8.1:4)
    at XMLHttpRequest.c (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils&ver=4.8.1:4)

任何建议都将受到赞赏。

我已经解决了这个问题。以下是如何帮助其他人的。

在包含日期选择器控件的同一页面上,我还需要使用以下代码创建的WP编辑器实例(在Stack Overflow中的其他位置找到)

wp_editor( $row["description"], 'tasighting', $settings );
\_WP_Editors::enqueue_scripts();
print_footer_scripts();
\_WP_Editors::editor_js();

如果删除_WP_Editors :: enqueue_scripts();行然后日期选择器工作正常。想必是某种剧本冲突?

0 个答案:

没有答案