关于三级联动采用获取json文件的json数据的做法

调用方式
/**
* 加载address.js
* @returns
*/
layui.config({
base : base+”/rs/control/layuicms2.0-master/js/” //如果a文件夹中直接就是xx.js文件,则为“../js/”
}).extend({
“address” : “address”
})
/**
* 获取三级联动数据
* @returns
*/
layui.use(‘address’, function(){
console.log(“hello”)
var address = layui.address;

    /*加载省市三级联动*/
    var url = base+"/rs/control/layuicms2.0-master/json/goods.json"//省市县三级联动json数组
    address.provinces(url,0,0,0);

});

addres.js文件
layui.define([“form”,”jquery”],function(exports){
var form = layui.form,
$ = layui.jquery,
Address = {

        //url 为数据的json文件的路径
        //province,city,area为上次保存的select的value 这边是code
    provinces : function(url,province,city,area) {      
        //加载省数据 
        var proHtml = '',that = this;
        //调用json数据
        $.get(url, function (data) {

            for (var i = 0; i < data.length; i++) {

                if(data[i].code==province){
                    proHtml += '<option  selected="selected" sort="'+i+'"  value="' + data[i].code + '">' + data[i].name + '</option>'
                    //加载之前记录的市级数据
                    that.citys(data[i].childs,city,area);   
                }else{
                    proHtml += '<option  sort="'+i+'"    value="' + data[i].code + '">' + data[i].name + '</option>';
                }   
            }
            //初始化省数据
            $("select[name=province]").append(proHtml);
            form.render();


            //监听省级的点击事件

              $("#province").change(function(){
                    var  id =   $("#province").find("option:selected").attr("sort")
                     $("#province1").val($(this).children('option:selected').text())
                    that.citys(data[id].childs,0,0);
                    that.areas(0,0);

              })
        })
    },
    //加载市数据
    citys : function(citys,city,area) {
        var cityHtml = '<option value="">二级类目</option>',that = this;
        for (var i = 0; i < citys.length; i++) {
            if(citys[i].code==city){
                 cityHtml += '<option  selected="selected" sort="'+i+'" value="' + citys[i].code + '">' + citys[i].name + '</option>';
                    that.areas(citys[i].childs,area); 

            }else{
                 cityHtml += '<option sort="'+i+'" value="' + citys[i].code + '">' + citys[i].name + '</option>';
            }

        }
        $("select[name=city]").html(cityHtml).removeAttr("disabled");
        form.render();

        $("#city").change(function(){
            var  id =   $("#city").find("option:selected").attr("sort")

            $("#city1").val($(this).children('option:selected').text())

             that.areas(citys[id].childs,0);

            })

    },
    //加载县/区数据
    areas : function(areas,area) {
        var areaHtml = '<option value="">三级类目</option>';
        for (var i = 0; i < areas.length; i++) {
            if(areas[i].code==area){
                 areaHtml += '<option sort="'+i+'"  selected="selected" value="' + areas[i].code + '">' + areas[i].name + '</option>';
            }else{
                areaHtml += '<option sort="'+i+'" value="' + areas[i].code + '">' + areas[i].name + '</option>';
            }    
        }
        $("select[name=area]").html(areaHtml).removeAttr("disabled");
        form.render();         
            $("#area").change(function(){
                var  id =   $("#area").find("option:selected").attr("sort")
                $("#area1").val($(this).children('option:selected').text())

// alert($(this).children(‘option:selected’).val());

                })



    }
};
exports("address",Address);

})

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值