博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
页面三个txt加载联动省市县的代码,类似淘宝的收货地址的布局
阅读量:4326 次
发布时间:2019-06-06

本文共 8410 字,大约阅读时间需要 28 分钟。

页面三个txt加载联动省市县的代码,假如有一个树形的JSON,分别显示的省市县

这时候三个TXT怎么做联动效果呢,这里用framework7为例
HTML:

 

页面开始先加载第一个省和第一个省的第一个市和第一个市的第一个县

这里可以使用递归的方法有兴趣的同学可以花时间写一下
js:

//一次加载所有省市区信息(初始化)function GetUserAddressByITInfo() {    myApp.showIndicator();    $.post("/Default/GetUserAddressByITInfo", {}, function (data) {        myApp.hideIndicator();        if (data) {            var pOptHmtl = '';            var cOptHmtl = '';            var aOptHmtl = '';            //获取的数据放入全局变量充当缓存            userAddressByItArray = data.userAddrList;            //循环省级节点            $.each(data.userAddrList, function (pIndex, pValue) {                pOptHmtl += '';                //第一个节点获取一下                if (pIndex == 0) {                    //根据一级节点循环绑定下面的二级市节点                    $('.txt_user_province').text(pValue.ProvinceName);                    $.each(pValue.CityNameList, function (cIndex, cValue) {                        cOptHmtl += '';                        if (cIndex == 0) {                            //第一个市节点获取一下,根据这个循环绑定下面的区县节点                            $('.txt_user_city').text(cValue.CityName);                            $.each(cValue.AreaNameList, function (aIndex, aValue) {                                aOptHmtl += '';                                if (aIndex == 0) {                                    $('.txt_user_area').text(aValue.AreaName);                                }                            });                            $('select[name="user_area"]').html(aOptHmtl);                        }                    });                    $('select[name="user_city"]').html(cOptHmtl);                }            });            $('select[name="user_province"]').html(pOptHmtl);        }    });}//然后省点击后触发select标签的change事件找到下面的市//根据省份选择市function GetCityListByProvince() {    var pOptHmtl = '';    var cOptHmtl = '';    var aOptHmtl = '';    var selProvince = $('select[name="user_province"] option:selected').val();    if (userAddressByItArray) {        //当select省级标签发生改变的时候,从一开始加载页面的数组去读取和新选中的项一样的树节点        $.each(userAddressByItArray, function (pIndex, pValue) {            if (selProvince == pValue.ProvinceName) {                $('.txt_user_province').text(pValue.ProvinceName);                //然后根据这个树节点从新加载二级市的节点                $.each(pValue.CityNameList, function (cIndex, cValue) {                    cOptHmtl += '';                    if (cIndex == 0) {                        //同样的绑定第一个市的区县节点                        $('.txt_user_city').text(cValue.CityName);                        $.each(cValue.AreaNameList, function (aIndex, aValue) {                            aOptHmtl += '';                            if (aIndex == 0) {                                $('.txt_user_area').text(aValue.AreaName);                            }                        });                        $('select[name="user_area"]').html(aOptHmtl);                    }                });                $('select[name="user_city"]').html(cOptHmtl);            }        });    } else {        $.post("/Default/GetUserAddressByITInfo", {}, function (data) {            if (data) {                $.each(data.userAddrList, function (pIndex, pValue) {                    if (selProvince == pValue.ProvinceName) {                        $('.txt_user_province').text(pValue.ProvinceName);                        $.each(pValue.CityNameList, function (cIndex, cValue) {                            cOptHmtl += '';                            if (cIndex == 0) {                                $('.txt_user_city').text(cValue.CityName);                                $.each(cValue.AreaNameList, function (aIndex, aValue) {                                    aOptHmtl += '';                                    if (aIndex == 0) {                                        $('.txt_user_area').text(aValue.AreaName);                                    }                                });                                $('select[name="user_area"]').html(aOptHmtl);                            }                        });                        $('select[name="user_city"]').html(cOptHmtl);                    }                });            }        });    }}//市点击后触发select的change事件找到下面的区县//根据省市选择区function GetAreaListByCity() {    var pOptHmtl = '';    var cOptHmtl = '';    var aOptHmtl = '';    var selProvince = $('select[name="user_province"] option:selected').val();    var selCity = $('select[name="user_city"] option:selected').val();    if (userAddressByItArray) {        //当select市级标签发生改变的时候,从一开始加载页面的数组去读取和新选中的项一样的树节点,然后找到省和市一样的那个节点        $.each(userAddressByItArray, function (pIndex, pValue) {            //先确定省级            if (selProvince == pValue.ProvinceName) {                $('.txt_user_province').text(pValue.ProvinceName);                //然后根据这个树节点从新加载二级市的节点                $.each(pValue.CityNameList, function (cIndex, cValue) {                    cOptHmtl += '';                    //在确定省级下面的市级                    if (selCity == cValue.CityName) {                        //同样的绑定第一个市的区县节点                        $('.txt_user_city').text(cValue.CityName);                        $.each(cValue.AreaNameList, function (aIndex, aValue) {                            //再根据这个当前的市节点重新加载三级区县节点                            aOptHmtl += '';                            if (aIndex == 0) {                                $('.txt_user_area').text(aValue.AreaName);                            }                        });                        $('select[name="user_area"]').html(aOptHmtl);                    }                });                $('select[name="user_city"]').html(cOptHmtl);            }        });    } else {        $.post("/Default/GetUserAddressByITInfo", {}, function (data) {            if (data) {                $.each(data.userAddrList, function (pIndex, pValue) {                    //先确定省级                    if (selProvince == pValue.ProvinceName) {                        $('.txt_user_province').text(pValue.ProvinceName);                        //然后根据这个树节点从新加载二级市的节点                        $.each(pValue.CityNameList, function (cIndex, cValue) {                            cOptHmtl += '';                            //在确定省级下面的市级                            if (selCity == cValue.CityName) {                                //同样的绑定第一个市的区县节点                                $('.txt_user_city').text(cValue.CityName);                                $.each(cValue.AreaNameList, function (aIndex, aValue) {                                    //再根据这个当前的市节点重新加载三级区县节点                                    aOptHmtl += '';                                    if (aIndex == 0) {                                        $('.txt_user_area').text(aValue.AreaName);                                    }                                });                                $('select[name="user_area"]').html(aOptHmtl);                            }                        });                        $('select[name="user_city"]').html(cOptHmtl);                    }                });            }        });    }}

 

转载于:https://www.cnblogs.com/llcdbk/p/10494365.html

你可能感兴趣的文章
[BZOJ 4010] 菜肴制作
查看>>
C# 创建 读取 更新 XML文件
查看>>
KD树
查看>>
VsVim - Shortcut Key (快捷键)
查看>>
C++练习 | 模板与泛式编程练习(1)
查看>>
HDU5447 Good Numbers
查看>>
08.CXF发布WebService(Java项目)
查看>>
java-集合框架
查看>>
RTMP
查看>>
求一个数的整数次方
查看>>
点云PCL中小细节
查看>>
铁路信号基础
查看>>
RobotFramework自动化2-自定义关键字
查看>>
[置顶] 【cocos2d-x入门实战】微信飞机大战之三:飞机要起飞了
查看>>
BABOK - 需求分析(Requirements Analysis)概述
查看>>
第43条:掌握GCD及操作队列的使用时机
查看>>
Windows autoKeras的下载与安装连接
查看>>
CMU Bomblab 答案
查看>>
微信支付之异步通知签名错误
查看>>
2016 - 1 -17 GCD学习总结
查看>>