<!-- author:青芒 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>三级联动菜单</title>
</head>
<body>
<select class="one">
<option value="请选择">请选择</option>
</select> <select class="two">
<option value="请选择">请选择</option>
</select> <select class="three">
<option value="请选择">请选择</option>
</select> <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
<script>
$(function(){
var oneArr = ["1","2","3"]; //数组1 var twoArr = [ //数组2
["1-1","1-2","1-3"],
["2-1","2-2","2-3"],
["3-1","3-2","3-3"]
]; var threeArr = [ //数组3
[
["1-1-1","1-1-2","1-1-3"],["1-2-1","1-2-2","1-2-3"],["1-3-1","1-3-2","1-3-3"]
],
[
["2-1-1","2-1-2","2-1-3"],["2-2-1","2-2-2","2-2-3"],["2-3-1","2-3-2","2-3-3"]
],
[
["3-1-1","3-1-2","3-1-3"],["3-2-1","3-2-2","3-2-3"],["3-3-1","3-3-2","3-3-3"]
]
]; let oneHtml = '<option value="请选择">请选择</option>';
for(let i in oneArr){
i = Number(i);
oneHtml += '<option value="'+ i +'">'+ oneArr[i] +'</option>';
}
$(".one").html(oneHtml); $(".one").change(function(){ //下拉框1选择事件
if($(this).val() == "请选择"){ //下拉框1如果点击了请选择,则2,3都内容都重置成“请选择”
$(".two, .three").html('<option value="请选择">请选择</option>');
return;
} let thisVal = Number($(this).val());
let twoHtml = '';
for(let j in twoArr[thisVal]){
j = Number(j);
twoHtml += '<option value="'+ (j+1) +'">'+ twoArr[thisVal][j] +'</option>';
}
$(".two").html(twoHtml); let threeHtml = '';
for(let k in threeArr[thisVal][0]){
k = Number(k);
threeHtml += '<option value="'+ (k+1) +'">'+ threeArr[thisVal][0][k] +'</option>';
}
$(".three").html(threeHtml);
}); $(".two").change(function(){ //下拉框2选择事件
let oneVal = Number($(".one").val());
let thisVal = Number($(this).val()) - 1; let threeHtml = '';
for(let x in threeArr[oneVal][thisVal]){
threeHtml += '<option value="'+ (x+1) +'">'+ threeArr[oneVal][thisVal][x] +'</option>';
}
$(".three").html(threeHtml);
});
})
</script>
</body>
</html>

最新文章

  1. 在Windows中隐藏用户的方法
  2. 动态编译添加php模块
  3. ADO.NET之1-数据库连接---ShinePans
  4. Linux vi 命令详解
  5. RIDE创建工程和测试套件和用例--书本介绍的入门方法,自己整理实践下
  6. Yii2 mongoDb的配置及使用
  7. POJ 1995 Raising Modulo Numbers (快速幂)
  8. 什么是IOC为什么要使用IOC
  9. 20165214 2017-2018-2 《Java程序设计》课程总结
  10. Jmeter(三十四)Jmeter-Question之“Cookie获取”
  11. JS 解析JSON实现导序
  12. 深入分析ReentrantLock公平锁和非公平锁的区别
  13. tablib.Dataset()操作exl类型数据之“类方法”研究
  14. VBA中数据库导出数据到Excel注意事项
  15. AngularJS orderBy 使用要点
  16. RF layout check list
  17. winform截屏
  18. POJ 1083
  19. Locust 关联
  20. SQLite内存数据库操作类

热门文章

  1. Raspberry Pi开发之旅-WIFI遥控小车
  2. finally中的return
  3. vm+ubuntu联网
  4. Java List 增删改查
  5. JMeter学习(八)JDBC测试计划-连接Oracle
  6. DP问题分类总结
  7. UVA 580 Critical Mass (两次dp)
  8. 医院Android项目总结
  9. Mirantis OpenStack 7.0: NFVI Deployment Guide — NUMA/CPU pinning
  10. Composer 入门使用手册