业务经理

微信扫描以上二维码

028-61286886

技术咨询

用VUE+AXIOS实现联动菜单三级联动

迅睿框架 更新 2026-07-11 12:12:06 小昕

用VUE+AXIOS实现联动菜单三级联动


在PAY字段、通用订单、商城中,

需要填写地址的地方,官方是用jquery.ld.js 来实现三级联动,

由于不想用JQ,所以用VUE+AXIOS把菜单的三级联动重新了一次。

  <div id="app">
    <select v-model="selectedRegion1" @change="onRegion1Change">
      <option value="">请选择</option>
      <option v-for="region in regions" :value="region.region_id">{{ region.region_name }}</option>
    </select>
    <select v-model="selectedRegion2" @change="onRegion2Change" v-if="subRegions1.length > 0">
      <option value="">请选择</option>
      <option v-for="region in subRegions1" :value="region.region_id">{{ region.region_name }}</option>
    </select>
    <select v-model="selectedRegion3" v-if="subRegions2.length > 0">
      <option value="">请选择</option>
      <option v-for="region in subRegions2" :value="region.region_id">{{ region.region_name }}</option>
    </select>
  </div>

JS部份

<script>
new Vue({
  el: '#app',
  data() {
    return {
      regions: [],
      subRegions1: [],
      subRegions2: [],
      selectedRegion1: '',
      selectedRegion2: '',
      selectedRegion3: ''
    };
  },
  mounted() {
    this.getRegions();
  },
  methods: {
    getRegions() {
      axios.get('index.php?s=api&c=api&m=linkage_ld&mid=order&file=&code=twd')
        .then(response => {
          this.regions = response.data.data;
        })
        .catch(error => {
          console.error(error);
        });
    },
    onRegion1Change() {
      this.subRegions1 = [];
      this.subRegions2 = [];
      this.selectedRegion2 = '';
      this.selectedRegion3 = '';
      if (this.selectedRegion1) {
        axios.get(`index.php?s=api&c=api&m=linkage_ld&mid=order&file=&code=twd&parent_id=${this.selectedRegion1}`)
          .then(response => {
            this.subRegions1 = response.data.data;
          })
          .catch(error => {
            console.error(error);
          });
      }
    },
    onRegion2Change() {
      this.subRegions2 = [];
      this.selectedRegion3 = '';

      if (this.selectedRegion2) {
        axios.get(`index.php?s=api&c=api&m=linkage_ld&mid=order&file=&code=twd&parent_id=${this.selectedRegion2}`)
          .then(response => {
            this.subRegions2 = response.data.data;
          })
          .catch(error => {
            console.error(error);
          });
      }
    }
  }
});
</script>


方案

  • 马拉糕 #1 · 2024-01-02 21:50:44
    看看看看看看看看看看看看
  • 四分音符 #2 · 2025-03-17 16:29:33
    看看看看看看看看看看看看
  • 风凌君 #3 · 2025-03-17 17:25:40
    学习一下看看怎么写,感谢大佬分享
  • 张某某某 #4 · 2025-04-07 16:21:33
    学习一下看看怎么写,感谢大佬分享
  • qq.gg #5 · 2025-10-15 17:35:15
    学习一下看看怎么写,感谢大佬分享
  • 搞定他 #6 · 2026-01-08 09:00:29
    看看学习一下啊
  • 耗子舞 #7 · 2026-01-09 12:34:18
    类似筛选器吗?
  • 木木建站 #8 · 2026-01-13 15:22:55
    • 看看看看看看看看看看看看
  • 阿飞 #9 · 2026-01-23 14:47:40
    类似筛选器吗?
  • 小白白 #10 · 2026-03-27 12:33:42
    学习一下看看怎么写,感谢大佬分享
  • 阿杰001 #11 · 2026-07-11 12:12:06
    看看学习一下啊

迅睿系统漏洞

GeoSeo工具箱
GeoSeo工具箱(2026-10-30)
新增城市落地页FAQ自定义 新增 Site Scan 分析报告并支...
外贸多语言建站
外贸多语言建站(2026-10-30)
修正对百度编辑器提取支持
AI文章生成器
AI文章生成器(2026-10-29)
任务插图设置数量
Bing站长数据
Bing站长数据(2026-10-29)
根据BING接口调整菜单 各个页面数据支持点击查看详情
按字段付费
按字段付费(2026-10-29)
按字段付费用于模块的字段设置一定的价格,当用户购买了此内容的字段时才...
泛解析站群系统
泛解析站群系统(2026-10-29)
AI队列增加清空按钮 表单提示语收敛 目录模式不接管主域名模板
账号注销
账号注销(2026-10-29)
用于用户中心的注销账号申请,后台审核通过后注销此账号。后台统一管理注...
邮件群发
邮件群发(2026-10-28)
修改模板的命名
自定义收款/捐款
自定义收款/捐款(2026-10-28)
自定义收款或捐款插件可以让用户快速创建付款或者捐款功能
CMS内容批量修改
CMS内容批量修改(2026-10-28)
后台批量修改文章内容的指定字段在插件后台可以任意指定字段