👈️ 问答首页
使用 layui 不需要请求任何API
只需要一个JSON数据 zone.js ( 复制到自己本地服务器 )
参考网站 https://thinkphp.easyadmin8.top/admin#/admin/mall.goods/index
如果当前数据不满足网站的 select 需求,请自行修改 zone.js 数据
需要当前 EasyAdmin8 项目的 easy-admin.js 更新到最新版(在 git 上查询当前对应项目的 easy-admin.js 文件)
HTML 文件中
# 页面顶部引入 zone.js


# 页面最下方引入





        
JS 文件中
# cols 内
{field: 'province', minWidth: 80, title: '省', toolbar: '#provinceDemo', search: 'select', layFilter: 'province', hide: true},
{field: 'city', minWidth: 80, title: '市', toolbar: '#cityDemo', search: 'select', layFilter: 'city', hide: true},
{field: 'area', minWidth: 80, title: '区', toolbar: '#areaDemo', search: 'select', layFilter: 'area', hide: true},

# ea.listen() 上
et form = layui.form
let provinceHtml = ``, cityHtml = ``, areaHtml = ``
let provinceCityData = [], cityAreaData = []
// 首次进来默认渲染省市区
areaData.forEach( item=>{
    provinceHtml += ``
    provinceCityData[item.value] = item.children
})
$('#c-province').html(provinceHtml)
$('#c-city').html(cityHtml)
$('#c-area').html(areaHtml)
form.render('select');

// 监听省份选择
form.on('select(province)', function (data) {
    let value = data.value
    let cityHtml = ``
    let areaHtml = ``
    if (!value) {
        cityHtml = areaHtml = ``
    } else {
        provinceCityData[value].forEach( item=> {
cityHtml += ``
cityAreaData[item.value] = item.children
item.children.forEach( item2=> {
    areaHtml += ``
})
        })
    }
    $('#c-city').html(cityHtml)
    $('#c-area').html(areaHtml)
    form.render('select')
})

// 监听城市选择
form.on('select(city)', function (data) {
    let value = data.value
    let areaHtml = ``
    if (value) {
        cityAreaData[value].forEach( item=> {
areaHtml += ``
        })
    }
    $('#c-area').html(areaHtml)
    form.render('select')
})