嘿伙计们,我在WordPress(widgets.php)的后端初始化jQuery时遇到了很大的问题。我正在构建一个小部件来显示一些只能通过SOAP访问的选项,所以我不得不使用admin-ajax.php对其进行调整。一切都在前端完美运行,但当涉及到后端时,它完全断开。
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功能;它在前端完美运行。
我对于客户和我来说仍处于停滞状态。无法弄清楚该怎么做。 有什么建议?提前谢谢!
答案 0 :(得分:2)
在wordpress初始化jQuery之前打印你的jQuery。 Wp_enqueue脚本不是它开始将脚本打印到页面上的点。下面将清除你的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'