zoukankan      html  css  js  c++  java
  • 原生js使用ajax实现省市县三级联动

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>ajax</title>
        <script>
            window.onload=function(){
                var xhr=new XMLHttpRequest();
                xhr.open('get','index.php?type=sheng',true);
                xhr.onreadystatechange=function(){
                    if(xhr.readyState==4){
                       var data=eval(xhr.responseText);
                       var str='<option value="0">--请选择省--</option>';
                       for(var i=0; i<data.length; i++){
                            str+='<option value="'+data[i].provinceID+'">'+data[i].province+'</option>';
                       }
                        document.getElementById('province').innerHTML=str;
                        //console.log(data[0].province);
                        //alert(data);
                    }
                }
                xhr.send();
                //
                var province = document.getElementById('province');
                province.onchange=function(){
                    var value=this.value;
                    xhr.open('get','index.php?type=shi&provinceID='+value,true);
                    xhr.onreadystatechange=function(){
                    if(xhr.readyState==4){
                       var data=eval(xhr.responseText);
                       var str='<option value="0">--请选择市--</option>';
                       for(var i=0; i<data.length; i++){
                            str+='<option value="'+data[i].cityID+'">'+data[i].city+'</option>';
                       }
                        document.getElementById('city').innerHTML=str;
                    }
                }
                xhr.send();
                }
                //
                var area = document.getElementById('city');
                city.onchange=function(){
                    var value=this.value;
                    xhr.open('get','index.php?type=area&cityID='+value,true);
                    xhr.onreadystatechange=function(){
                    if(xhr.readyState==4){
                       var data=eval(xhr.responseText);
                       var str='<option value="0">--请选择县--</option>';
                       for(var i=0; i<data.length; i++){
                            str+='<option value="'+data[i].areaID+'">'+data[i].area+'</option>';
                       }
                        document.getElementById('area').innerHTML=str;
                    }
                }
                xhr.send();
                }
    
            }
        </script>
    </head>
    <body>
        <select id="province">
                <option value="0">--请选择省--</option>
        </select>
        <select id="city">
                 <option value="0">--请选择市--</option>
        </select>
        <select id="area">
                <option value="0">--请选择县--</option>
        </select>
    </body>
    </html>
    <?php
    $servername = "127.0.0.1";
    $username = "root";
    $password = "root";
     
    // 创建连接
    $mysqli = new mysqli($servername, $username, $password);
     
    // 检测连接
    if ($mysqli->connect_error) {
        die("连接失败: " . $mysqli->connect_error);
    } 
    $mysqli->select_db('three');
    $mysqli->query('set names utf8');
    
    if($_GET['type']=='sheng'){
        $list=$mysqli->query('select * from jing_province');
    
        while($row=$list->fetch_array()){
           $data[]=$row;
        }
        echo json_encode($data);
    }elseif($_GET['type']=='shi'){
        $father=$_GET['provinceID'];
        $list=$mysqli->query('select * from jing_city where father='.$father.' ');
    
        while($row=$list->fetch_array()){
           $data[]=$row;
        }
        echo json_encode($data);
    }else if($_GET['type']=='area'){
        $father=$_GET['cityID'];
        $list=$mysqli->query('select * from jing_area where father='.$father.' ');
    
        while($row=$list->fetch_array()){
           $data[]=$row;
        }
        echo json_encode($data);
    }
  • 相关阅读:
    vue $emit的使用
    flask config 环境变量配置
    get请求
    下载及安装
    测试用例写作
    系统测试
    测试方法
    软件质量
    测试基础
    子网掩码
  • 原文地址:https://www.cnblogs.com/mengor/p/8275856.html
Copyright © 2011-2022 走看看