JavaScript实现简单的Select联动菜单
作者:纸飞机时间:2026-10-29 14:00:42浏览:126
本文介绍如何使用JavaScript实现简单的Select联动菜单效果。通过监听第一个下拉菜单的change事件,动态更新第二个下拉菜单的选项内容。文章提供了完整的HTML和JS代码示例,并附带在线演示地址,适合初学者参考学习前端表单交互逻辑。
JavaScript实现Select联动菜单
本文通过一个具体实例,详细讲解如何利用JavaScript实现基础的联动菜单功能。该示例代码结构清晰,便于开发者理解与复用,适合希望快速掌握前端交互逻辑的读者参考。
这是一个极简的JavaScript联动菜单实现方案。在Dreamweaver等开发工具中,此类代码通常可自动生成;若未使用自动化工具,用户也可直接复制该段代码并根据实际需求进行修改调整。这种联动下拉框在网页设计中应用广泛。
联动菜单的实际运行效果如下图所示:

如需查看在线运行效果,可访问以下演示地址:
http://demo.jb51.net/js/2015/js-select-ld-menu-codes/
实现该功能的具体代码示例如下:
<html>
<head>
<title>简单的Select联动菜单代码</title>
</head>
<body>
<FORM name="F1">
<SELECT NAME="select1" onChange="set_list(this.options.selectedIndex)">
<OPTION SELECTED>流行音乐</OPTION>
<OPTION>网上书籍</OPTION>
<OPTION>软件下载</OPTION>
</SELECT>
<SELECT NAME="select2" >
<OPTION SELECTED>请选网站</OPTION>
</SELECT>
<SCRIPT LANGUAGE="JavaScript">
var l=document.F1.select1.options.length;
//取得第一下拉菜单的选项数目
var group=new Array(l)
//根据这个数目创建数组
for (i=0; i<l; i++)
//上一个数组的每一个元素也是数组
group[i]=new Array()
//接下来创建选项,为第二下拉菜单定义内容
group[0][0]=new Option("CNTV","http://www.cntv.cn")
group[0][1]=new Option("音乐天堂","#")
group[0][2]=new Option("搜狗音乐","http://mp3.sogou.com/")
group[1][0]=new Option("网页特效","/jscss")
group[1][1]=new Option("白鹿书院","http://www.readlink.net")
group[2][0]=new Option("华军软件园","http://www.newhua.com")
group[2][1]=new Option("搜狐下载 ","http://it.sohu.com/download/")
group[2][2]=new Option("中国下载","http://www.download.com.cn")
var selobj=document.F1.select2; //设定需要动态改变的对象是第二下拉菜单
function set_list(x) //x表示第一菜单被选定的内容
{
for (m=selobj.options.length-1;m>0;m--) //先清除第二菜单的选项
selobj.options[m]=null
for (i=0;i<group[x].length;i++){
//根据第一菜单的选定序号,丛控件数组中提取菜单选项放进第二菜单
selobj.options[i]=group[x][i]
//这里也可以创建新的对象,例如:selobj.options[i]=new Option(group[x][i].text,group[x][i].value)
}
selobj.options[0].selected=true
//选定第0号选项
}
function go(){
//这个函数用来将窗口导航到指定的URL
location=selobj.options[selobj.selectedIndex].value
}
</SCRIPT>
</FORM>
<p><INPUT TYPE="BUTTON" NAME="Button" VALUE="go" onclick="go()" style="background-color: #FFFFFF; float: left; font-family: Arial Black; font-size: 10pt; font-weight: bold; text-decoration: blink; color: #000000; font-style: italic; border-style: solid; border-width: 1"></p>
<p> </p>
</body>
</html>
希望上述内容能为您的JavaScript编程实践提供有益帮助。
作者最新文章
JS动态构建复杂嵌套JSON对象的方法
2026-11-05 15:41:52
JS负数取余为什么是负数?详解余数与模运算区别
2026-11-05 13:34:41
JS 解压出现乱码或报错怎么解决?
2026-11-05 12:32:38
JS 中 startsWith、indexOf 与正则判断字符串前缀的对比
2026-11-04 22:19:43
JS解析Excel后怎么将数据转换为JSON格式
2026-11-04 20:58:28
