通过wordpress中的ajax调用填充依赖选择框

时间:2017-01-07 10:02:35

标签: javascript php jquery ajax wordpress

我想在选择框中代表选定州填写城市。我能够获取所选状态的id但无法将该状态id传递给php函数以获取依赖城市的数组。这一切都在wordpress中。

<script type="text/javascript">
$(document).ready(function()
{
    function ajaxSubmit(){

        var stateId = $(this).val();
        // alert("SID"+stateId);
        jQuery.ajax({
        type:"POST",
        action:'getDist',
        data: stateId,
        url: "<?php echo $adminUrl; ?>"
    });
}
    $('#billing_state').on("change", ajaxSubmit);
});
</script>

上面是ismy ajax调用,下面是我想要传递状态ID的php函数。

    <?php

        function getDist($id){
            global $wpdb;
            $dists  = $wpdb->get_results("select name from cities where state_id = ".$id);
            if($dists === FALSE):
                echo $wpdb->error;
            else:
            foreach($dists as $dist){
                echo"<option value=".$dist->name.">".$dist->name."</option>";
            }
            endif;
        }
        add_action('wp_ajax_getDist', 'getDist');
    ?>

在此之后,我在城市中没有任何选择框。

1 个答案:

答案 0 :(得分:0)

并非完全错误的方法......我只是错过了ajax中的acction函数.. 这是更新..

 $.ajax({
             type:"POST",
            url:"<?= admin_url('admin-ajax.php') ?>",
            data:({
                action:'get_city',
                state_id:stateID
            }),
            success:function(response){
                $("#billing_city").html(response);
            }
        });