zoukankan      html  css  js  c++  java
  • JQ三级联动的写法

    今天和大家分享下三级联动的写法

    思路:1.通过AJAX获取到json文件里的数据,GET方法

        2.在获取到的数据里找到省份添加到下拉菜单中

        3.当省份标签被改变时change事件通过当前省份与市的共同数组下标找到对应的市区;

    实例:HTML

      

    <!DOCTYPE html>
    <html>
        <head>
            <script src="js/jquery-3.3.1.js"></script>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
            <select id="province">//创建省份下拉菜单
                <option>--省份--</option>
            </select>
            <select id="city">//创建市下拉菜单
                <option>--市--</option>
            </select>
            <select id="code">//创建邮编下拉菜单
                <option>--邮编--</option>
            </select>
        </body>
    </html>

      JQ 第一级联动省份

    <script>
            //----------------------------联动第一级-------------------------------------------------------
            $.get("js/city.json",function(data,status){//通过GET方法获取到json文件里的数据
                $(data.城市代码).each(function(i,el){      //通过JQ循环遍历数据
                    var str = "<option value=" + i + ">" + data.城市代码[i].省 + "</option>"//把data的省份数据添加到下拉菜单中
                    $("#province").append(str);//添加option标签
                })
            })
        </script>

       第二级联动市区: 当省级下拉菜单被改变时触发change事件实现二级联动

    <script>
            $.get("js/city.json",function(data,status){//通过GET方法获取到json文件里的数据
                var provinceId = null;//纪录共同的数组下标值
            //----------------------------联动第一级-------------------------------------------------------
                $(data.城市代码).each(function(i,el){      //通过JQ循环遍历数据
                    var str = "<option value=" + i + ">" + data.城市代码[i].省 + "</option>"//把data的省份数据添加到下拉菜单中
                    $("#province").append(str);//添加option标签
                });
            //----------------------------联动第二级-------------------------------------------------------    
                $("#province").change(function(){//当省级下拉菜单被改变触发change事件
                    $("#city").html("<option>--市--</option>");//当省级下拉菜单被改变时清空市级下拉菜单
                    $("#code").html("<option>--邮编--</option>");//当省级下拉菜单被改变时清空邮编下拉菜单
                    provinceId = $("#province").val();//获取到省和市的共同数组下标
                    $(data.城市代码[provinceId].市).each(function(index,ele){//循环共同数组的市
                        var str = "<option>" + ele.市名 + "</option>"//把data的市数据添加到下拉菜单中
                        $("#city").append(str);//添加option标签
                    })
                });
            </script>

       第三级联动邮编: 当市级级下拉菜单被改变时触发change事件实现三级联动

    <script>
            $.get("js/city.json",function(data,status){//通过GET方法获取到json文件里的数据
                var provinceId = null;//纪录共同的数组下标值
            //----------------------------联动第一级-------------------------------------------------------
                $(data.城市代码).each(function(i,el){      //通过JQ循环遍历数据
                    var str = "<option value=" + i + ">" + data.城市代码[i].省 + "</option>"//把data的省份数据添加到下拉菜单中
                    $("#province").append(str);//添加option标签
                });
            //----------------------------联动第二级-------------------------------------------------------    
                $("#province").change(function(){//当省级下拉菜单被改变触发change事件
                    $("#city").html("<option>--市--</option>");//当省级下拉菜单被改变时清空市级下拉菜单
                    $("#code").html("<option>--邮编--</option>");//当省级下拉菜单被改变时清空邮编下拉菜单
                    provinceId = $("#province").val();//获取到省和市的共同数组下标
                    $(data.城市代码[provinceId].市).each(function(index,ele){//循环共同数组的市
                        var str = "<option>" + ele.市名 + "</option>"//把data的市数据添加到下拉菜单中
                        $("#city").append(str);//添加option标签
                    })
                });
                //----------------------------联动第三级-------------------------------------------------------    
                $("#city").change(function(){
                    $("#code").html("");
                    $(data.城市代码[provinceId].市).each(function(index,ele){
                        if($("#city").val()==ele.市名){
                            console.log(ele.编码);
                            var str = "<option>" + ele.编码 + "</option>"//把data的省份数据添加到下拉菜单中
                            $("#code").append(str);//添加option标签
                        }
                    })
                })
            })
        </script>

      

  • 相关阅读:
    SSL评测
    EF+SQLSERVER控制并发下抢红包减余额(改进)
    关于游标嵌套时@@FETCH_STATUS的值
    windows下限制Redis端口只能由本机访问
    windows下配置Redis
    Node.js 使用gm处理图像
    Git 与其他系统
    git-svn 简易 操作指南
    git-svn — 让git和svn协同工作
    Git和SVN共存的方法
  • 原文地址:https://www.cnblogs.com/stt520/p/9708859.html
Copyright © 2011-2022 走看看