1

jsfiddle上有一个示例(php 文件位于 css textarea 中)。当您更改 select#main_cat 时,ajax 会查找子类别并将它们输入到 select#sub_cat 中。

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

感谢任何帮助!

函数.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’);

索引.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>
4

1 回答 1

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);
    }
});
于 2012-12-18T03:40:02.757 回答