2012-12-18 3 views
1

예제는 here에 jsfiddle (PHP 파일은 CSS 텍스트 영역에 있습니다)입니다. select # main_cat 아약스를 변경하면 sub catagories를 찾아 select # sub_cat에 입력합니다.AJAX 내부에만 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 디버깅을 시도하고 무슨 일이 일어나고 있는지 참조 , 우리는 귀하의 URL에 액세스 할 수 없기 때문에 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); 
    } 
});