本地 三级联动 适用于 element 三个 下拉框

本文介绍了一种从远程JSON资源获取省市县数据,并通过正则表达式进行数据分类的方法。详细展示了如何使用axios获取JSON数据,然后将数据分为省份、城市和区域三个级别,并进行嵌套处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本地三级联动 json资源 地址:
https://download.youkuaiyun.com/download/weixin_43138190/10812629       

 

getCityData: function() {
          var that = this
          axios.get(this.mapJson).then(function(response) {
            if (response.status == 200) {
              var data = response.data
              that.province = []
              that.city = []
              that.block = []
              // 省市区数据分类
              for (var item in data) {
                if (item.match(/0000$/)) { //省
                  that.province.push({
                    label: data[item],
                    item:item,
                    value: data[item],
                    children: []
                  })
                } else if (item.match(/00$/)) { //市
                  that.city.push({
                    label: data[item],
                    item:item,
                    value: data[item],
                    children: []
                  })
                } else { //区
                  that.block.push({
                    label: data[item],
                    item:item,
                    value: data[item]
                  })
                }
              }
              // 分类市级
              for (var index in that.province) {
                for (var index1 in that.city) {
                  if (that.province[index].item.slice(0, 2) === that.city[index1].item.slice(0, 2)) {
                    that.province[index].children.push(that.city[index1])
                  }
                }
              }
              // 分类区级
              for (var item1 in that.city) {
                for (var item2 in that.block) {
                  if (that.block[item2].item.slice(0, 4) === that.city[item1].item.slice(0, 4)) {
                    that.city[item1].children.push(that.block[item2])
                  }
                }
              }
            } else {
              console.log(response.status)
            }
          }).catch(function(error) {
            console.log(typeof + error)
          })
        },

 

 

### Ruoyi 框架实现省市区三级联动下拉框 #### 添加必要的 JavaScript 文件 为了实现在 Ruoyi 框架中的省市区三级联动功能,在需要该功能的页面中应加入特定的 JavaScript 文件。通过以下代码片段可引入所需的 `jquery-cxselect-js` 脚本文件,此脚本已内置于 Ruoyi 项目之中,因此无需额外下载。 ```html <th:block th:include="include :: jquery-cxselect-js"/> ``` 上述 HTML 片段用于加载 jQuery 插件 cxSelect 的 JS 文件[^1]。 #### 构建选择器结构 对于每一个希望启用联动效果的选择列表(无论是省份、城市还是地区),都需要将其包裹在一个具有唯一 ID 属性的 `<div>` 容器之内,并确保各个 `<select>` 元素拥有恰当设置过的 name 属性以便于后续的数据绑定操作。 ```html <div id="areaSelector"> <select name="province"></select> <select name="city"></select> <select name="district"></select> </div> ``` 这段 HTML 创建了一个包含三个选项卡的容器,分别对应省级、市级和地区级行政区划单位。 #### 初始化配置与事件监听 接下来是在自定义 JavaScript 中初始化这些控件并为其添加交互逻辑的部分: ```javascript $(document).ready(function(){ $('#areaSelector').cxSelect({ url : '/common/city.json', // 数据接口路径 selects : ['province','city','district'], jsonName:'name', jsonValue:'value' }); }); ``` 这里利用了来自 GitHub 上开源项目的插件来简化开发过程,其中指定了获取区域划分信息的服务端 API 地址 `/common/city.json` ,以及各层选择项对应的名称和值属性名。当文档就绪时执行以上函数完成组件渲染工作。 #### 设置表格样式调整 为了让用户体验更佳,可能还需要对展示结果所在表格做一些美化处理,比如让每一行之间更加清晰可见。可以通过 CSS 来改变默认外观特性: ```css .el-table, table { border-collapse: collapse !important; } /* 移除单元格底边线 */ .el-table th.is-leaf, .el-table td { border:none!important; } /* 给每行增加一条绿色细线下方边界 */ .el-table tr{ border-bottom:1px solid rgb(67,151,127); } ``` 此处给出了一组针对 Element UI 表格样式的优化建议,使得最终呈现出来的界面更为整洁美观[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值