调用方式
/**
* 加载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);
})