微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

三级联动ajax同步

html

<div id="frame"></div>

js

$(function(){
    //拼接省市区下拉框
    var str = `<select id=‘sheng‘></select>
            <select id=‘shi‘></select>
            <select id=‘qu‘></select>`;
    $(‘#frame‘).html(str);
    //页面加载完成后执行省市区显示函数
    sheng();
    shi();
    qu();
    //省市添加改变函数,当这一项改变时下面的项跟着改变
    $(‘#sheng‘).change(function(){
        shi();
        qu();
    })
    $(‘#shi‘).change(function(){
        qu();
    })
})
//显示函数
function sheng(){
    //设置pid为0
    var pcode = ‘0‘;
    var str = ‘‘;
    //异步进行,pid传入后台,返回的json第0项为id 第1项为地区名
    //循环拼接option,放入html
    $.ajax({
        type:"post",url:"sjll.PHP",async:false,data:{
            pcode:pcode
        },dataType:‘json‘,success:function(data){
            for(var i = 0; i < data.length; i++){
                str += "<option value=‘"+data[i][0]+"‘>"+data[i][1]+"</option>";
            }
            $(‘#sheng‘).html(str);
        }
    });
}
function shi(){
    //获取省的id值为市的pid
    var pcode = $(‘#sheng‘).val();
    var str = ‘‘;
    //异步进行,pid传入后台,返回的json第0项为id 第1项为地区名
    //循环拼接option,放入html
    $.ajax({
        type:"post",success:function(data){
            for(var i = 0; i < data.length; i++){
                str += "<option value=‘"+data[i][0]+"‘>"+data[i][1]+"</option>";
            }
            $(‘#shi‘).html(str);
        }
    });
}
function qu(){
    //获取市的id值为区的pid
    var pcode = $(‘#shi‘).val();
    var str = ‘‘;
    //异步进行,pid传入后台,返回的json第0项为id 第1项为地区名
    //循环拼接option,放入html
    $.ajax({
        type:"post",success:function(data){
            for(var i = 0; i < data.length; i++){
                str += "<option value=‘"+data[i][0]+"‘>"+data[i][1]+"</option>";
            }
            $(‘#qu‘).html(str);
        }
    });
}

PHP

<?PHP
    $db = new MysqLi(‘localhost‘,‘root‘,‘1‘,‘test‘);
    !MysqLi_connect_error() or die (‘连接错误);
    $db->query(‘set names utf8‘);
    //获取传值pid
    $pcode = $_POST[‘pcode‘];
    //查找当前pid下的所有内容
    $sql = "select *  from dt_area where pid = $pcode";
    $res = $db->query($sql);
    $attr = $res->fetch_all();
    //返回json格式
    echo json_encode($attr);
?>

注意:

  这里的ajax使用同步传输方式,因为当省执行完市才能拿到省的id值。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐