在html页面中实现跳转至下拉框中的页面,核心是通过监听下拉框的选中变化事件,获取选中项对应的页面地址,再通过JavaScript的跳转方法完成页面切换。这种方式常用于导航切换、分类跳转等场景,实现逻辑简单且兼容性好。

实现原理说明
整个功能的实现依赖三个核心部分:首先是html的<select>下拉框元素,用于展示可选的跳转选项;其次是onchange事件,当下拉框的选中项发生变化时会触发该事件;最后是window.location对象,通过修改它的href属性即可完成页面跳转。
方案一:直接在下拉框选项中存储跳转地址
这种方式是最简单的实现方式,直接把需要跳转的页面地址作为<option>标签的value值,选中时直接读取value进行跳转。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>下拉框跳转页面示例</title>
</head>
<body>
<!-- 下拉框元素,绑定onchange事件 -->
<select id="pageSelect" onchange="jumpToPage(this)">
<option value="">请选择跳转的页面</option>
<option value="https://ipipp.com/home.html">首页</option>
<option value="https://ipipp.com/about.html">关于我们</option>
<option value="https://ipipp.com/contact.html">联系我们</option>
<option value="http://127.0.0.1:8080/test.html">本地测试页</option>
</select>
<script>
// 跳转函数,接收下拉框元素作为参数
function jumpToPage(selectObj) {
// 获取选中的value值,即跳转地址
var targetUrl = selectObj.value;
// 判断地址不为空再执行跳转
if (targetUrl) {
window.location.href = targetUrl;
}
}
</script>
</body>
</html>
方案二:通过选项标识匹配跳转地址
如果跳转地址需要统一管理,或者value值需要存储其他标识,可以通过选中项的标识来匹配对应的跳转地址,这种方式更适合地址较多或者需要动态修改的场景。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>下拉框跳转页面示例</title>
</head>
<body>
<select id="pageSelect">
<option value="">请选择跳转的页面</option>
<option value="home">首页</option>
<option value="about">关于我们</option>
<option value="contact">联系我们</option>
</select>
<script>
// 地址映射对象,统一管理跳转地址
var urlMap = {
home: "https://ipipp.com/home.html",
about: "https://ipipp.com/about.html",
contact: "https://ipipp.com/contact.html"
};
// 获取下拉框元素
var selectEle = document.getElementById("pageSelect");
// 绑定change事件
selectEle.addEventListener("change", function() {
var selectVal = this.value;
// 判断选中的值是否在映射对象中
if (urlMap[selectVal]) {
window.location.href = urlMap[selectVal];
}
});
</script>
</body>
</html>
注意事项
- 跳转前需要判断选中的值是否有效,避免选中默认空选项时触发跳转导致页面报错。
- 如果跳转的是当前站点的页面,可以使用相对路径,跨域跳转则需要写完整的绝对路径。
- 若下拉框是动态生成的,需要在元素渲染完成后再绑定事件或者设置onchange属性。
- 使用
window.location.replace()也可以实现跳转,区别在于该方法不会在浏览器历史记录中保留当前页面,用户无法通过后退按钮回到当前页。
htmlJavaScriptselect_jumpwindow_locationonchange_event修改时间:2026-07-20 01:00:23