用javascript实现下拉菜单互动

本文介绍了一个使用JavaScript实现的下拉菜单联动选择框示例。通过监听一级菜单变化来动态更新二级菜单选项,同时提供了输入校验功能确保用户正确填写服务类型及二级服务类型。
js 代码
  1. <html>   
  2. <head><title>test select changed</title></head>   
  3. <script language='javascript'>   
  4.   
  5. // 更新二级服务类型   
  6. function updateSubServer() {   
  7.     var arrays = [['100', 'aa', '101'],['100', 'bb','102'],['200', 'cc', '201'], ['200', 'dd', '202']];   
  8.     clear_sub_server();    
  9.     var sub_servers2 = document.getElementById("sub_server");      
  10.     var option_1 = null;   
  11.     for (var i = 0; i < arrays.length; i++) {   
  12.         option_1 = document.createElement("option");   
  13.         if (document.forms[0].server.options[document.forms[0].server.selectedIndex].value == arrays[i][0]) {   
  14.             option_1.text = arrays[i][1];   
  15.             option_1.value = arrays[i][2];   
  16.             sub_servers2.add(option_1);   
  17.         }   
  18.     }   
  19. }   
  20.   
  21. // 清除二级服务类型,只留一个空的选择项   
  22. function clear_sub_server() {   
  23.     var sub_servers = document.getElementById("sub_server");   
  24.     while(sub_servers.childNodes.length > 0) {   
  25.         sub_servers.removeChild(sub_servers.childNodes[0]);   
  26.     }   
  27.     var option_2 = document.createElement("option");   
  28.     option_2.text = "请选择二级服务类型";   
  29.     option_2.value = "";   
  30.     sub_servers.add(option_2);   
  31. }   
  32.   
  33. // 输入校验   
  34. function checkInput() {    
  35.     if (document.forms[0].server.value == '') {   
  36.         alert('请输入服务类型!');   
  37.         return false;   
  38.     }   
  39.     if (document.forms[0].sub_server.value == '') {   
  40.         alert('请输入二级服务类型!');   
  41.         return false;   
  42.     }   
  43.     document.forms[0].submit();   
  44. }   
  45. </script>   
  46. <body>   
  47. <form name='form1' action='#' method='get' onsubmit="checkInput();return false;">   
  48.     服务类型:<select name='server' id='server' onchange='updateSubServer();'>   
  49.         <option value=''>请选择服务类型</option>   
  50.         <option value='100'>第一个服务</option>   
  51.         <option value='200'>第二个服务</option>   
  52.     </select>   
  53.     二级服务类型:<select name='sub_server' id='sub_server'>   
  54.         <option value=''>请选择二级服务类型</option>   
  55.     </select>   
  56.     <input type='submit' />   
  57. </form>   
  58. </body>   
  59. </html>  
========================================================== \根目录 ├── _blank.html 空白页(每次我们都拿空白页去创建,这样比较干净!) ├── _footer.html 页脚公共代码片段 ├── _header.html 头部公共代码片段 ├── _meta.html meta公共代码片段 ├── robots.txt 搜索引擎爬虫配置文件 ├── login.html 管理员登陆 ├── index.html 首页(主框架) ├── welcome.html 我的桌面(默认永远打开的页面) ├── member-开头的 用户相关 ├── artice-开头的 资讯相关 ├── picture-开头的 图片相关 ├── product-开头的 产品相关 ├── page-开头的 页面相关 ├── system-开头的 系统相关 ├── admin-开头的 管理员相关 ├── charts-开头的 统计相关 …… static/ 资源 ├── h-ui/ H-ui特有资源 │ ├── css/ 样式 │ │ ├── H-ui.css H-ui基础样式 │ │ ├── H-ui.min.css H-ui.css 压缩版 │ │ ├── H-ui.ie.css H-ui.css IE低版本兼容补丁 │ ├── images/ 图片资源 │ ├── js/ │ │ ├── H-ui.js H-ui核心脚本 ├── h-ui.admin/ H-ui.admin核心资源 │ ├── css/ 样式 │ │ ├── H-ui.login.css 后台管理员登录页样式 │ │ ├── H-ui.admin.css 后台界面主要样式 │ ├── images/ 图片资源 │ ├── js/ │ │ ├── H-ui.admin.js 后台管理核心脚本 │ ├── skin/ 皮肤资源 │ │ ├── blue 蓝色 │ │ ├── default 黑色(默认) │ │ ├── green 绿色 │ │ ├── orange 橙色 │ │ ├── red 红色 │ │ ├── yellow 黄色 Lib/ 第三方插件 ├── jquery jQuery类库(v1.9.1) ├── Hui-iconfont 阿里图标字体库(H-ui定制) ├── jquery.SuperSlide 幻灯片组件 ├── Validform 表单验证插件 ├── jquery.validation 表单验证插件 ├── My97DatePicker 日期插件 ├── datatables 表格插件 ├── nprogress 进度条插件 ├── layer layer弹出层插件 ├── laypage laypage 翻页插件 ├── jquery.contextmenu 右键菜单插件 ├── ueditor 百度编辑器 ├── Highcharts 图表插件 ├── echarts 百度图标插件 ├── datatables 表格排序,检索插件 ├── WebUploader 百度文件上传组件 ├── lightbox2 图片预览组件 ├── html5shiv.js html5插件,让低版本IE支持html5元素 ├── DD_belatedPNG_0.0.8a-min.js 解决IE6png透明 ├── swfobject.js Flash插件 ├── expressInstall.swf 检查flash插件 ├── respond.min.js 让IE兼容media ├── colpick.js 颜色插件 └─temp 测试数据、图片
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值