嘿,伙计们,我在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'