一个例子是jsfiddle上的here(php文件位于css textarea中)。当您更改select#main_cat时,ajax会查找子类别并在select#sub_cat中输入它们。
唯一的问题是结果总是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 :(得分: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);
}
});