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值。

  • 相关阅读:
    关于JsonObject的笔记
    addHeader() 与 setHeader() 区别
    BeanUtils.copyProperties(A,B)字段复制用法
    servletcontext的小结
    枚举笔记
    关于spring mvc接受前台参数的笔记
    关于session和cookie
    servlet学习
    tomcat到底是干嘛的
    .json文件报错 ,点进去是Expected value at 1:0
  • 原文地址:https://www.cnblogs.com/SSs1995/p/9211654.html
Copyright © 2011-2022 走看看