zoukankan      html  css  js  c++  java
  • 省,市,区三级下拉框联动以及localStorage当做缓存优化

    今天做了一个企业用户申请的界面,需要填写地域,用到了联动的下拉框。

    今晚看资料看到可以用localstorage先存储再用,当初真是没想到,这是一个优化点啊,明天试一试。现在用的手机码字,不方便,睡觉了。

    ----------------更新---------------------

    实现结果如图

    首先先访问接口获取所有省市区的数据,获得的数据密密麻麻如下

    json格式,看的眼睛都花了,用工具分析一下,http://www.bejson.com/jsonviewernew/,这个在线的json视图就很好用。

    分析如下

    。。。。。。。。。。。。。。。。突然想说脏话。。

    刚进入页面,先把省的表单循环出来,这个好弄,注意上面json视图中那个大大的0是什么鬼?

    在省的表单上加一个触发事件,获取到所选省的值,循环所有省,在循环中加个if判断,如果循环的省id等于所选的值,循环下面的市,组织好html输出,如下

    //
            appcan.select(".cate1", function(ele, value) {
               // $('#cate2Text').html('请选择市');
               setLocVal('pro',value);
                if(value==0){
                    $('#company_city').html(''); 
                }else{
                    var cate2 = "<option value=0>请选择市</option>";
                    for (var i = 0; i < cates.length; i++) {
                        if(cates[i].id == value){
                            for (var j = 0; j < cates[i].city.length; j++) {
                                cate2 += '<option value="' + cates[i].city[j].id + '">' + cates[i].city[j].name + '</option>';
                            
                            }
                        }
                    }
                    $('#company_city').html(cate2);
                }
            });

    注意现在已经确定省的值了,这时先把省的值存起来,虽然现在用不到,但一会循环区的时候要用。如下

    //
              appcan.select(".cate2", function(ele, value) {
                  pro = getLocVal('pro');
                if(value==0){
                    $('#company_area').html(''); 
                }else{
                    var cate2 = "<option value=0>请选择区</option>";
    
                    for (var i = 0; i < cates[pro].city.length; i++) {
                        if(cates[pro].city[i].id == value){
                            for (var j = 0; j < cates[pro].city[i].county.length; j++) {
                                cate2 += '<option value="' + cates[pro].city[i].county[j].id + '">' + cates[pro].city[i].county[j].name + '</option>';
                            }
                        }
                    }
                    $('#company_area').html(cate2);
                }
            });

    好乱。

  • 相关阅读:
    左偏树(DP)问题
    Dinic问题
    卡特兰数问题
    《DSP using MATLAB》Problem 2.19
    《DSP using MATLAB》Problem 2.18
    《DSP using MATLAB》Problem 2.17
    《DSP using MATLAB》Problem 2.16
    《DSP using MATLAB》Problem 2.15
    《DSP using MATLAB》Problem 2.14
    《DSP using MATLAB》Problem 2.10
  • 原文地址:https://www.cnblogs.com/tingfengqieyu/p/5074705.html
Copyright © 2011-2022 走看看