layui(点击编辑显示内容(根据地址信息分别为输入框赋值(显示省、市、区、镇(不详,有可能到只有镇,区域命名不同))))) + js(根据重新选择的级联数据进行更新操作)

<form class="form-horizontal" role="form">
    <div id="chooseRegion" class="form-group">
        <label  class="col-sm-2 control-label">地址</label>
        <div class="col-xs-2" id="provinceTop">
            <select class="form-control province" onchange="getProvinceID();"></select>
        </div>
        <div class="col-xs-2" id="cityTop">
            <select class="form-control city"  onchange="getCityID()"></select>
        </div>
        <div class="col-xs-2 " id="districtTop">
            <select class="form-control district" onchange="getDistrictID()"></select>
        </div>
        <div class="col-xs-2" class="streetJD" id="streetTop">
            <select class="form-control street" onchange="getStreetID()"></select>
        </div>
    </div>
    <div class="form-group">
        <label  class="col-sm-2 control-label">详细地址</label>
        <div class="col-sm-4" style="position: relative;width:66.65%;">
            <input type="text" class="form-control detailAddress" placeholder="详细地址"/>
        </div>
    </div>
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
            <button type="button" class="btn btn-primary" id="update_parking">编辑</button>
        </div>
    </div>
</form>
<!--根据地址信息进行截取,每3个进行截取,然后调用接口进行模糊查询,再次调用接口push进select进行选择修改操作-->
//
清空选项 $(function () { getProvince(); });//省份列表 function getProvince(){ const style= $.get(url, function (data) { setTimeout(()=>{ var reg=new RegExp($('.detailAddress').val().substring(0,3)); data.map((item,index)=>{ if(reg.test(item.name)){ //console.log(item.name,"hhhhh"); $('.province').append("<option value='"+item.id+"'>"+item.name+"</option>"); if(item.name.length>5){ $('#provinceTop').css('width','22.5%'); } addProvince(); //console.log($('.detailAddress').val().substring(item.name.length,item.name.length+3),"tset"); getCity(item.id,item.name.length,item.name.length+3); } }) },35) }) } //城市列表 function getCity(parking,min,max){ $.get(url, { id: parking, }, function (data, status) { setTimeout(()=>{ var reg=new RegExp($('.detailAddress').val().substring(min,max)); data.map((item,index)=>{ if(reg.test(item.name)){ $('.city').append("<option value='"+item.id+"'>"+item.name+"</option>"); if(item.name.length>5){ $('#cityTop').css('width','23.5%'); } $.get(url, { id: parking, }, function (data, status) { for (var i = 0; i < data.length; i++) { $(".city").append('<option value="' + data[i].id + '">' + data[i].name + '</option>'); } }); getCityCount(item.id,item.name.length+min,item.name.length+min+3); } }) },35) }); } //县区列表 function getCityCount(parking,min,max){ var test=['镇','街道']; $.get(url, {id: parking}, function (data) { //console.log(data,"sfas"); setTimeout(()=>{ var reg=new RegExp($('.detailAddress').val().substring(min,max)); data.map((item,index)=>{ if(reg.test(item.name)){ $('.district').append("<option value='"+item.id+"'>"+item.name+"</option>"); getCityStreet(item.id,item.name.length+min,item.name.length+min+3); } $.get(url, {id: parking}, function (data) { //console.log(data,"sfas"); $('.district').append("<option value='"+item.id+"'>"+item.name+"</option>"); } ) }) },35) } ) }; //街道列表 function getCityStreet(parking,min,max){ $.get(url, { id: parking, }, function (data) { //console.log(data,"街道"); setTimeout(()=>{ var reg=new RegExp($('.detailAddress').val().substring(min,max)); data.map((item,index)=>{ if(reg.test(item.name)){ $('.street').append("<option value='"+item.id+"'>"+item.name+"</option>"); if(item.name.length>5){ $('#streetTop').css('width','19%'); } } $.get(url, { id: parking, }, function (data) { //console.log(data,"街道"); $('.street').append("<option value='"+item.id+"'>"+item.name+"</option>"); } ) }) },35) } ) };
//获取选择的省份
function getProvinceID() {
$('.detailAddress').val('');
$(".city").empty(); //重新选择省份时,先清空city的数据,防止重复append
$('.city').append('<option>请选择</option>');
$(".district").empty(); //重新选择省份时,先清空city的数据,防止重复append
$('.district').append('<option>请选择</option>');
$(".street").empty(); //重新选择省份时,先清空city的数据,防止重复append
$('.street').append('<option>请选择</option>');
var province_id = $(".province option:selected").val();
var province = $(".province option:selected").text();
var province_info = province_id + "_" + province;
addProvince();
$.get(url, {
id: province_id,
},
function (data, status) {
$('.detailAddress').val($(".province option:selected").text());
$(".city").empty(); //重新选择省份时,先清空city的数据,防止重复append
$('.city').append('<option>请选择</option>');
for (var i = 0; i < data.length; i++) {
$(".city").append('<option value="' + data[i].id + '">' + data[i].name + '</option>');
console.log(data[i].name);
}
});
return province_info;
}

//获取选择的城市
function getCityID() {
$(".district").empty(); //重新选择省份时,先清空city的数据,防止重复append
$('.district').append('<option>请选择</option>');
$(".street").empty(); //重新选择省份时,先清空city的数据,防止重复append
$('.street').append('<option>请选择</option>');
var province_id = $(".city option:selected").val();
var province = $(".city option:selected").text();
var province_info = province_id + "_" + province;
$.get(url,
{id: province_id},
function (data) {
console.log(data,"城市的下一级");
data.map((item,index)=>{
//console.log(data,"sfas");
$('.district').append("<option value='"+item.id+"'>"+item.name+"</option>");
})
}
)
return province_info;
}

//获取选择的县区
function getDistrictID() {
$(".street").empty(); //重新选择省份时,先清空city的数据,防止重复append
$('.street').append('<option>请选择</option>');
var district_id = $(".district option:selected").val();
var district = $(".district option:selected").text();
$('.detailAddress').val($(".province option:selected").text()+$(".city option:selected").text()+$(".district option:selected").text());
var district_info = district_id + "_" + district;
$.get(url, {
id: district_id,
},
function (data, status) {
console.log(data);
//$("#street").empty(); //重新选择省份时,先清空city的数据,防止重复append
// $('#street').append('<option>请选择</option>');
console.log("street" + data.length)
if (data.length == 0) {
$(".street").hide();
}
if (data.length != 0) {
$(".street").show();
for (var i = 0; i < data.length; i++) {
$(".street").append('<option value="' + data[i].id + '">' + data[i].name + '</option>');
}
}
});
return district_info;
}
//获取选择的街道
function getStreetID() {
var street_id = $(".street option:selected").val();
var street = $(".street option:selected").text();
$('.detailAddress').val($(".province option:selected").text()+$(".city option:selected").text()+$(".district option:selected").text()+$(".street option:selected").text());
var street_info = street_id + "_" + street;
return street_info;
}
//更新数据
$(function () {})
posted @ 2020-06-19 16:05  晨曦_yuan小海  阅读(510)  评论(0)    收藏  举报