初始化widgets.php区域


Wordpress jQuery initialize widgets.php area

嘿,伙计们,我在WordPress (widgets.php)的后端初始化jQuery时遇到了一个大问题。我正在构建一个小部件来显示一些只能通过SOAP访问的选择选项,因此我必须使用admin-ajax.php对其进行ajax化。在前端,一切都工作得很好,但当涉及到后端时,它就完全崩溃了。

function widget_inject() {
echo "<script>
jQuery(document).ready(function($) {
var ajaxurl = '".admin_url('admin-ajax.php')."';
var list_target_id = 'list-target'; //first select list ID
var list_select_id = 'list-select'; //second select list ID
var initial_target_html = '<option value='"'">Please select category...</option>'; 
$('#'+list_target_id).html(initial_target_html);
$('#'+list_select_id).change(function(e) {
var selectvalue = $(this).val();

$('#'+list_target_id).html('<option value='"'">Loading...</option>');
if (selectvalue == '"'") {
   $('#'+list_target_id).html(initial_target_html);
} else {
  $.ajax({url: ajaxurl,
  data: {
        action: 'parentcatajax1',
        parentCat: selectvalue
    },
         success: function(output) {
            //alert(output);
            $('#'+list_target_id).html(output);
        },
      error: function (xhr, ajaxOptions, thrownError) {
        alert(xhr.status + '" '"+ thrownError);
      }});
    }
});
});</script>";
}
add_action('admin_enqueue_scripts','widget_inject');

^这就是我正在尝试的。我试过admin-init, admin-head, admin-footer,它们似乎都不起作用。,是的,我有……

add_action('wp_ajax_nopriv_parentcatajax1', 'parentCatCallback1');
add_action('wp_ajax_parentcatajax1', 'parentCatCallback1');

为我的ajax函数;它在前端工作得很好。

我在等待一个客户& &;不知道该怎么做。有什么建议吗?提前感谢!

在wordpress初始化jQuery之前打印你的jQuery。Wp_enqueue scripts并不是它开始将脚本打印到页面上的点。下面将清除您的jQuery未定义错误,如果以后有更多错误请告诉我。

function widget_inject() {
   echo "<script>
             jQuery(document).ready(function($) {
         alert('ready');//re-enter your code here
             })(jQuery);
         </script>";
}
add_action('admin_print_scripts','widget_inject', 100);//hook= 'admin_print_scripts'