省市区镇(可以选四级)联动点击自动展开下一级

周末在家的时候,接到后端的一个电话,说领导有这个这样的需求。刚开始我理解错了。以为需要做一个省市区三级联动的,稀里哗啦的在网上找了数据。然后谢了出来。结果沟通才知道。需求理解错了,需要电商网站填写个人收货地址的需求。简化用户点击次数,选择完省,市自动出来,选择市,县自动出来,接着再如果需要四级联动,就单独封装函数AJAX四级城镇请求出来:

代码为:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="format-detection" content="telephone=no" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <meta name="renderer" content="webkit">
    <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
    <title>Document</title>
    <style>
        *{margin:0;padding:0}li{list-style-type:none}body{margin:0 auto;max-width:720px}.panle{position:fixed;top:0;height:100%;max-width:720px;width:100%;display:none}.panle1,.panle2,.panle3,.panle4{background:#fff;width:100%;margin:auto;text-align:center;height:100%;display:none}.panle p{text-align:center;position:relative;width:100%;height:36px;line-height:36px;border-bottom:1px solid #e4e4e4;font-size:18px}.panle p i{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAsCAYAAACQXhN9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAwZJREFUeNq0l2tozWEcx5/ZGHOZy8xmwlw2bbO2xlzaUkopL5S8ISJ5oVByvzW3CCVRvPJC8kbklcYbKZrLRtjCzmK55R7D3Ibx/dXn1Glts//5P576dPZ/dv7nc/7P7/I8JyE3p9T9h9FPrBMLxZmk/yBIF+vFctFTzPYtGSEqxCKRKD6Jcz4luWK3mCMSxAdxUBzxJSkW+8QMrt8gPCa+hpXYNy4Xh0QRc0/FFnFK/LSJMJLuFlSeYBRzEbFGVIo/0TfGK0kWC8QOkcXcHbFCVLV9czySXmKZ2CzSmLtCyta1d0NQSX+xWqwSfcUvcZ7rxo5uCiLJFJvEUp7muzgptokXnd3YVUm22C7mc0+z5b/YK5r+dXNXJHl82CzRTbwXB8RhZC6sZBJVO4XrV2KnOC6+dXWdO5PMFPvF+Jgi2yBOi99BsqU9iTW2uWKXGMtcfUyRBR5tJT3EYjqpFVmruE0N3Ii3NcRKUsRKsZF6sLZwkblImAYXlQwUa/nAPqz5WZboWdgWncS3rqDIelNkJ8RW8dbHPpBEDJYgsJ3sKJ21yXkaJplHH/os9lDJzc7jsArO4G+r5Au+BVFJHZmUQbGN9C1JTBuUZe1hGglQIApFLS3Em+QRS1VKbLLpVQ/EE18Sq+q7wmQTqJkMnu65aIjdr+OVOD6knn3almuoGCCmiy/ivmgJK4kOW57rYowYTasp57UWYWiJjdccDNI5FaYQryE0y48+JI5qv8bZKg9REeeruqDtpiOJoyireS2kcY5jE2sI0jg7kzia5S12xWKSwU7uk5lr8CFxtP17BL6EWA0WZcQnwvkrlCQ6HhOnfJ4mlcxrJfVbfEiip5XLYrjIISHKWMbqjk4wQSWOHzeX6Ax5/GQrIfNq2kvxeCSOoqyiUxSw4eWDxe+lD4ljaW6Kd6R4Kl1iIofvRh8SR7At6A95onQO5lMpWOuHrWEljuyK0AksRsOIl4l+2P98SFzMMbYGSS57k/W8ZJ+SaHO9SnwKSYhM3xJHCleR2nZeqPwrwAAtdbC/p5izwAAAAABJRU5ErkJggg==) left center no-repeat;width:30px;height:36px;background-size:35%;display:inline-block;position:absolute;left:2em}.panle li{width:100%;display:inline-block;text-align:left;font-size:16px;line-height:24px;border-bottom:1px solid #e4e4e4;text-indent:2em;padding:3px 0}.r1{overflow-y:scroll}.selectf{display:inherit;height:40px;background:80px 10px/15%;border:currentColor;color:#999;padding:0 8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-right-color:#d0d0d0;border-right-width:1px;border-right-style:solid;-webkit-box-flex:1;box-flex:1;border-radius:0}.txt03 .selectf:last-child{border:none}.txt03{position:relative;background:#f8f8f8;border-radius:5px;border:1px solid #d0d0d0;border-image:none;width:96%;height:40px;overflow:hidden;margin-bottom:6px;margin-left:2%;clear:both;display:-webkit-box;display:box}
    </style>
</head>
<body>
    <div class="txt03">
        <input name="" type="text"  class="selectf" id="slect1" readonly value="省">
        <input name="" type="text" class="selectf"  id="slect2" readonly value="市">
        <input name="" type="text" class="selectf"  id="slect3" readonly value="区或县">
        <input name="" type="text" class="selectf"  id="slect4" readonly value="城镇">
    </div>
    <div class="panle">
       <div class="panle1 r1">
            <p class="back"><i></i>返回</p>
            <ul></ul>
       </div>
       <div class="panle2 r1">
            <p class="back"><i></i>返回</p>
            <ul></ul>
       </div>
       <div class="panle3 r1">
           <p class="back"><i></i>返回</p>
           <ul></ul>
       </div>
       <div class="panle4 r1">
           <p class="back"><i></i>返回</p>
           <ul>fregtrtgtr</ul>
       </div>
    </div>
</body>
<script type="text/javascript" src="addselect.js"></script>
<script>
    (function($){
        addst("panle","panle1","panle2","panle3","slect1","slect2","slect3","r1","back","selectf",1,cons);//参数设置1为真 代表有四联 如果只需要三联 设置为0或者假,后面cons函数取消。
        //页面头部有JQUERY 统一写法
        function cons(){
            var pan3=$(".panle3 ul li");
            var storage=JSON.parse(localStorage.getItem("Userdata"));//获取所选择的省和市 JSON
            $(".panle4 ul").empty();
            pan3.each(function(index, el) {
                $(el).on("click",function(){
                    var areaval=$(el).text();
                    var cityval=storage["city"];
                    var province=storage["prov"];
                    console.log("prov:"+province+"city:"+cityval+"area:"+areaval);
                    var oli='';
                    for (var i = 0; i < 10; i++) {
                        oli += '<li>11111</li>';
                    };
                    $(".panle3").hide();
                    $(".panle4 ul").html(oli);
                    $(".panle4,#slect4").show();
                    $(".panle4 ul li").each(function(index,el){
                        $(el).click(function(){
                            $("#slect1").val(province);
                            $("#slect2").val(cityval);
                            $("#slect3").val(areaval);
                            $("#slect4").val($(this).text());
                            $(".panle4,.panle").hide();
                        })
                    });
                })
            });
        }
    })(jQuery)
</script>
</html>

JS 代码 请大家移步以下地址:demo

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-29 19:35:43

省市区镇(可以选四级)联动点击自动展开下一级的相关文章

省市区镇(能够选四级)联动点击自己主动展开下一级

周末在家的时候,接到后端的一个电话.说领导有这个这种需求.刚開始我理解错了. 以为须要做一个省市区三级联动的,稀里哗啦的在网上找了数据.然后谢了出来. 结果沟通才知道.需求理解错了,须要电商站点填写个人收货地址的需求.简化用户点击次数,选择完省.市自己主动出来,选择市,县自己主动出来,接着再假设须要四级联动,就单独封装函数AJAX四级城镇请求出来: 代码为: <!doctype html> <html lang="en"> <head> <me

省市区县街道四级联动下拉菜单

参考代码: JQuery中国省市区街道三级.四级联动下拉菜单插件 (将代码中单纯的四级联动提取出来,对其中的bug进行了修正,并完善了一些不完美的地方) 先通过最终效果看一下功能: 代码如下: index.html:(注:请将代码中的jquery.min.js替换成你本地的jquery地址) <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>jQuery四级

easyUI tree点击文字展开节点

easyUI默认展开树的时候,点击节点前边的黑色小三角 ,这样操作存在不人性化的地方,在实际使用中由于老旧电脑的存在和大龄使用者的眼花经常点不准:因此要实现点击节点名称展开的方式,其实就是在展开事件上加一个展开该节点的方法. 在onSelect事件中添加 $(this).tree('expand',node.target); 当选中该节点的时候,展开该节点下的节点,该方法只会展开下一级节点,并不会展开子节点下的节点. 如果要展开所有节点: $(this).tree('expandAll',nod

关于三级联动或者四级联动等的一些思考

原理概述如图 1.当页面初始化时应当初始化的数据源: I级数据源.II级数据源.III级数据源.IV级数据源...... 所以在初始化I级数据源的时候,需要把II.III.IV级的数据源也初始化了 初始化II级的数据源时,需要把III.IV级的也初始化了,以次类推...... 最重要的时候在初始化页面时要把四级都初始化了,本人在此出现过错误,记录一下,提醒自己. 2.每一级数据源的改变都由其父一级或者父父级的的改变选值的事件触发 这里父父级其实也是父级的,比如第三级的改变可能是由第一级的值改变导

判断复选框是否点击和点击了哪一个

判断复选框哪一个被点击 <!DOCTYPE html> <html> <head> <script src="/jquery/jquery-1.11.1.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function(){ var a=$('[type=checkbox]').length;

Jquery 复选框全选与反选点击执行一次然后失效解决方案

在做项目时遇到一个bug,checkbox全选与反选功能,只能点击一次,再点就不起作用了,为了解决此问题,我查找了好多资料,下面把具体解决方案整理分享给大家,需要的朋友可以参考下 代码需求, 使用attr只能执行一次,使用prop则完美实现全选和反选,获取所有选中的项并把选中项的文本组成一个字符串. 解决方案一: 代码如下: <html> <head> <script src="jquery-1.11.1.min.js" type="text/j

城市四级联动,js和jquery对ajax的支持结合html,json

                                                                 jdbc工具类                                                       public class JdbcUtils { public static BasicDataSource bs=null; static{ Properties p = new Properties(); try { p.load(JdbcU

ASP.NET TreeView控件父子勾选框联动勾选

摘要:ASP.NET TreeView控件父子勾选框联动勾选 后置代码: this.TreeView1.Attributes.Add("onclick", "CheckEvent();"); JS 代码: function setParentState(objNode) { ?? var objParentDiv = WebForm_GetParentByTagName(objNode, "div"); ?? if (objParentDiv =

jquery实现的点击可以展开折叠的垂直导航菜单

jquery实现的点击可以展开折叠的垂直导航菜单:本章节介绍一种比较常见的导航菜单是如何实现的,它具有垂直结构,点击导航主标题可以展开或者折叠二级菜单.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" />