JavaScript实现联动菜单特效

作者:异步漫步时间:2026-10-24 03:14:45浏览:186

本文介绍如何使用JavaScript实现省市区联动菜单特效。通过监听下拉框的onchange事件,结合二维数组存储地区数据,动态获取选中省份并遍历生成对应城市列表。最终将生成的选项添加到市的下拉框中,实现无刷新联动效果。

JavaScript联动菜单实现教程

本文将演示如何使用JavaScript制作联动菜单特效,这或许会是一个系列教程的开始。

展示效果预览

遵循惯例,先展示最终运行效果,随后进行详细的技术原理解析。

JavaScript联动菜单实现教程

完整代码实现

完整代码实现


<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <title></title>
 <link rel="stylesheet" href="">
</head>
<body>
 <h1>联动菜单</h1>
 <select id="province" onchange="ld();">
  <option value="-1">请选择</option>
  <option value="0">安徽</option>
  <option value="1">浙江</option>
 </select>
 <select id="city">

 </select>
</body>
<script>
 //定义地区数组
 var area = [
  ['安庆','黄山','合肥'],
  ['杭州','温州','宁波']
 ];
 //联动函数
 function ld(){
   var province = document.getElementById('province');//找到省对象
   var city = document.getElementById('city');//找到市对象
   var opt = '';
   //如果是请选择,就显示空,并结束函数
   if(province.value == -1){
   city.innerHTML = opt;
   return ;
   }
   for(var i = 0 ,len = area[province.value].length;i < len;i++){
   opt += '<option value="'+i+'">'+area[province.value][i]+'</option>';
   }
   city.innerHTML = opt;
 }
</script>
</html>

功能逻辑解析

功能逻辑解析

首先构建基础页面结构,使省份下拉框绑定onchange事件。当用户改变下拉框选中值时,触发ld函数。代码中预定义了存储地区信息的二维数组,并通过DOM操作获取省份下拉框的当前值,以此作为索引定位二维数组中的对应行。接着遍历该行中的城市数据,拼接HTML选项字符串,最后将结果注入到城市下拉框中。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

作者最新文章