2012-12-18 79 views
1

一个例子是jsfiddle上的here(php文件在css textarea中)。当你改变select#main_cat时,ajax查找子类别,并将它们输入到select#sub_cat中。AJAX里面的wordpress只返回0

唯一的问题是结果总是0.我不确定是什么问题。

任何帮助都被认可!

的functions.php

function implement_ajax() { 
    if(isset($_POST['main_catid'])) { 
     $categories= get_categories('child_of='.$_POST['main_catid'].'&hide_empty=0'); 
      foreach ($categories as $cat) { 
      $option .= '<option value="'.$cat->term_id.'">'; 
      $option .= $cat->cat_name; 
      $option .= ' ('.$cat->category_count.')'; 
      $option .= '</option>'; 
      } 

      echo '<option value="-1" selected="selected">Scegli...</option>success'.$option; 
     die(); 
    } // end if 

} 


add_action(‘wp_ajax_my_special_action’, ‘implement_ajax’); 
add_action(‘wp_ajax_nopriv_my_special_action’, ‘implement_ajax’); 

的index.php

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" ></script> 
<script> 



$(function(){ 
      $('#main_cat').change(function(){ 
        var $mainCat=$('#main_cat').val(); 

        // call ajax 
        $("#sub_cat").empty(); 
         $.ajax({ 
          url:"/wp-admin/admin-ajax.php", 
          type:'POST', 
          data:'action=my_special_action&main_catid=61',// + $mainCat, 

          success:function(results) 
           { 
           // alert(results); 
       $("#sub_cat").removeAttr("disabled"); 
       $("#sub_cat").append(results); 
       $("#asdf").text(results); 
             } 
            }); 
          } 
            ); 
}); 




</script> 
wp_dropdown_categories('show_count=0&selected=-1&hierarchical=1&depth=1&hide_empty=0&exclude=1&show_option_none=Main Categories&name=main_cat'); 
?> 
<select name="sub_cat" id="sub_cat" disabled="disabled"></select> 
+0

尝试调试/wp-admin/admin-ajax.php,看看发生了什么,我们无法使用js小提琴做很多事情,因为我们无法访问您的网址,请试着回声一步一步......或者如果您有一个php调试器(Nusphere或 另一个 ..) – Tarek

回答

0

试试这个:

$("#sub_cat").empty(); 
$.ajax({ 
    url : "/wp-admin/admin-ajax.php", 
    type : 'POST', 
    data : { // pass data as an objet 
     action : 'my_special_action', 
     main_catid : 61 // + $mainCat, 
    }, 
    dataType : 'html', // specify html output 
    success : function(results) 
    { 
     // alert(results); 
     $("#sub_cat").removeAttr("disabled"); 
     $("#sub_cat").append(results); 
     $("#asdf").text(results); 
    } 
});