城市--区域--二级联动--后台获取数据--mui组件-picker

//前台根据parent_id获得城市列表
            var shengNums="";
            var cityNums="";
            var parent_id=2;//2为北京城区,20为天津
            //获取所有的城市级信息
            function sheng(){
                mui.ajax(url+"/front_get_citys.do?id="+parent_id, {
                    type: "GET",
                    async:false,
                    dataType: "jsonp",
                    success: function(data) {
                    //console.log("获取省信息成功");
                        var json_data = jQuery.parseJSON(data);
                        console.log(json_data.t_areas.length);
                        cityNums=json_data.t_areas.length;
                        ShangQuan();
                        var str ="";
                        for(var i = 0;i<json_data.t_areas.length;i++ ){
                            //console.log(json_data.list[i].name);
                            //roledata1+="[{value:'"+ json_data.list[i].id+"',text:'"+json_data.list[i].name+"'}]";
                            //因为picker下拉框是数组-要进行数据格式化
                            if(i+1!=json_data.t_areas.length){
                                    str+="{value:'"+ json_data.t_areas[i].id+"',text:'"+json_data.t_areas[i].area_name+"',children:"+arr[i]+"}"
                                }
                                if(i+2!=json_data.t_areas.length){
                                    str+=",";
                                }
                                
                            }
                        shengdata="["+str+"]";
                        //console.log(quyudata);
                    /*shengNums="[{value:'"+ json_data.t_areas[0].id+"',text:'"+json_data.t_areas[0].area_name+"',children:"+quyudata+"},"+
                    "{value:'"+ json_data.t_areas[1].id+"',text:'"+json_data.t_areas[1].area_name+"',children:"+quyudata+"}]";//数据格式化*/
                        //quyudata="[{value: '120000',text: '北京市',children:"+"["+str+"]"+"}]";//数据格式化
                        //localStorage.setItem("shengdata",shengdata); 
                    },
                    error: function(xhr, type, errorThrown) {
                    //异常处理;
                    mui.toast("查询失败-暂时无法访问"); 
                    }
                });
            }
            //监听选取二级联动
            var dizhiid="";
            var ditieButton=document.getElementById('dizhi');
            ditieButton.addEventListener('tap', function(event) {
                        dizhiPicker.setData(eval(shengdata));//循环取值
                        dizhiPicker.show(function(items) {
                        //var name=JSON.stringify(items[0].text).replace("\"","").replace("\"","");
                        var name2=JSON.stringify(items[1].text).replace("\"","").replace("\"","");
                        dizhiid=JSON.stringify(items[1].value).replace("\"","").replace("\"","");    
                            $("#dizhi").html(name2);
                        refreshData();
                        });
                    }, false);
            mui("body").on("tap",".mui-poppicker-btn-cancel",function(){
            //console.log("点击了取消");
            dizhiid="";    //重置向后台传递的参数为null
            $("#dizhi").html("Location");//样式恢复到原来的状态
            refreshData();
            });
            
            
            var arr=[];
            //获取区域名称front_get_bussinessestow.do?province_code=1&city_code=2&area_code=3
            function ShangQuan(){
                console.log("多少个城市"+cityNums);
                for(var areaid=3;areaid<=cityNums;areaid++){
                    mui.ajax(url+"/front_get_bussinessestow.do", {
                    type: "GET",
                    async:false,
                    dataType: "jsonp",
                    data:{
                        province_code:1,
                        city_code:2,
                        area_code:areaid,
                    },
                    success: function(data) {
                    //console.log("获取商圈信息成功");
                        var json_data = jQuery.parseJSON(data);
                        //console.log(json_data.list.length);
                        var str1 ="";
                        for(var i = 0;i<json_data.list.length;i++ ){
                            //console.log(json_data.list[i].name);
                            //roledata1+="[{value:'"+ json_data.list[i].id+"',text:'"+json_data.list[i].name+"'}]";
                            //因为picker下拉框是数组-要进行数据格式化
                            if(i+1!=json_data.list.length){
                                    str1+="{value:'"+ json_data.list[i].id+"',text:'"+json_data.list[i].name+"'}"
                                }
                                if(i+2!=json_data.list.length){
                                    str1+=",";
                                }
                            }
                        var quyudata="";
                        quyudata="["+str1+"]";//数据格式化
                        arr.push(quyudata);
                        //console.log(quyudata);
                        //localStorage.setItem("shengdata",shengdata); 
                    },
                    error: function(xhr, type, errorThrown) {
                    //异常处理;
                    mui.toast("查询失败-暂时无法访问"); 
                    }
                });
                //console.log(quyudata);
                    
                }
                //console.log(arr[1]);
                
            }

转载于:https://www.cnblogs.com/fdxjava/articles/11358595.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值