zoukankan      html  css  js  c++  java
  • 三级联动(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",
            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>";
                }
                $('#shi').html(str);
            }
        });
    }
    function qu(){
        //获取市的id值为区的pid
        var pcode = $('#shi').val();
        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>";
                }
                $('#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值。

  • 相关阅读:
    python爬虫 关于Max retries exceeded with url 的错误
    爬虫最新的库requestshtml库总结
    adb命令将抓包工具证书从用户目录移动至系统目录,解决反爬对于本地证书认证
    imei码生成
    利用Frida修改Android设备的唯一标识符
    linux下启动selenium爬虫并安装谷歌浏览器和驱动
    JS输出为[object Object] 如何解决
    【转载】Vim 的 tab 设置
    python实现的斐波那契数列
    MySQL设置UTF8字符
  • 原文地址:https://www.cnblogs.com/SSs1995/p/9211654.html
Copyright © 2011-2022 走看看