1. 今天说的这个是原生js的二级联动,在空白页面里动态添加并作出相对应的效果。
  2.  
  3. 1 //创建两个下拉列表 select标签 是下拉列表
  4. var sel = document.createElement("select");
  5. var sel1 = document.createElement("select");
  6. //添加到body
  7. document.body.appendChild(sel);
  8. document.body.appendChild(sel1);
  9. // 创建一个数组
  10. var firstSelectArr = ["未选择","医院","学校","公司","星座"];
  11. var detailFirstArr = ["未选择","院长","主任","大夫","护士"];
  12. var detailSecondArr = ["未选择","校长","老师","学生","主任"];
  13. var arr2 = ["未选择","CEO","职员","主任","下属"];
  14. var arr3 = ["未选择","白羊座","射手座","处女座","天秤座"];
  15. function addChild(arr,parentN){
  16. //封装函数
  17. for(var i=0;i<arr.length;i++){
  18. //创建 option节点
  19. var opt = document.createElement("option");
  20. //设置显示文字
  21. opt.innerText = arr[i];
  22. //把节点添加到sel中
  23. parentN.appendChild(opt);
  24.  
  25. }
  26. }
  27. //调用函数 给第一个select添加option
  28. addChild(firstSelectArr,sel)
  29.  
  30. //循环创建多个下拉选项
  31.  
  32. //给第一个下拉列表添加onchange事件
  33. //onchange事件:当元素的值发生改变时,触发此事件。
  34. sel.onchange = function (){
  35. // selectdIndex.下拉列表的索引
  36. console.log(sel.selectedIndex);
  37. switch (sel.selectedIndex){
  38. case 0:
  39. alert("未选择");
  40. break;
  41. case 1:
  42. delectOldOpt();
  43. addChild(detailFirstArr,sel1);
  44. break;
  45. case 2:
  46. delectOldOpt();
  47. addChild(detailSecondArr,sel1);
  48. break;
  49. case 3:
  50. delectOldOpt();
  51. addChild(arr2,sel1);
  52. break;
  53. case 4:
  54. delectOldOpt();
  55. addChild(arr3,sel1);
  56. break;
  57. }
  58.  
  59. }
  60. //删除select原来的option
  61. function delectOldOpt(){
  62. //到这删除下拉列表中的选项
  63. for(var i=sel1.childNodes.length-1;i>=0;i--){
  64. //删除选项
  65. sel1.removeChild(sel1.childNodes[i]);
  66. }
  67.  
  68. }

  69.     这样就完成了一个最简单的二级联动,希望可以帮到你们!!!!

原生js二级联动的更多相关文章

  1. 原生js的联动全选

    开发应用中有很多工具可以使用,下面介绍一个原生js写的联动全选思路!!! <!DOCTYPE html> <html lang="en"> <head ...

  2. 原生js三级联动

    <!DOCTYPE html> <html lang="en"> <head> <title> 三级联动 </title> ...

  3. Ext.js二级联动

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link href ...

  4. js二级联动

    <body> <section> <a>省份</a> <select id="province"> <option ...

  5. js 二级联动

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. 省市二级联动(原生JS)

    代码如下: <html> <head> <meta charset="UTF-8"> <title>省市二级联动</title ...

  7. 原生js实现二级联动下拉列表菜单

    二级联动下拉列表菜单的难点在于对后台返回的数据进行解析,不多逼逼,直接上代码 上图是后台返回的数据 实现代码如下: var deviceNotExist = true;//防止数据重复 if(data ...

  8. xml+js+html的二级联动

    首先需要准备的文档是: cities.xml //主要是标注中国各省及其各省下的各个城市 内容如下: <?xml version="1.0" encoding="U ...

  9. 省市二级联动--使用app-jquery-cityselect.js插件

    只有省市二级联动,三级联动还没处理好,会尽快完善. 嵌入id: <div class="form-group"> <label>地址</label&g ...

随机推荐

  1. AOJ/堆与动态规划习题集

    ALDS1_9_A-CompleteBinaryTree. Codes: //#define LOCAL #include <cstdio> int parent(int i) { ret ...

  2. DIV+CSS 规范命名集合

    一: 命名规范说明: 1).所有的命名最好都小写 2).属性的值一定要用双引号("")括起来,且一定要有值如class="divcss5",id="d ...

  3. JavaScript常用的方法和函数(setAttribute和getAttribute )

    仅记录学习的新知识和示例,无干货. 1.setAttribute和getAttribute          (Attribute:属性) setAttribute:为元素添加指定的属性,并为其赋值: ...

  4. Asp.net mvc 小试牛刀一:多语言支持

    最近因为项目需要又从UWP开发转到了Asp.net mvc 开发,由于也不是什么老手,所以就将项目常见的一些技术问题记录一下自己的解决方案. 第一个需求:用户可以自由切换界面显示语言. 解决方案一:界 ...

  5. MySql5.7环境搭建

    1. 安装mysql的linux系统 [root@grewan ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [root@grewan ...

  6. 深入学习webpack(一)

    深入学习webpack(一) 模块化的相关库和工具已经很多了,包括require.js.sea.js和一些工程化工具webpack.gulp.grant.那么我们该如何选择呢? 其实,我们只需要掌握了 ...

  7. LeetCode---------Add Two Numbers 解法

    You are given two non-empty linked lists representing two non-negative integers. The digits are stor ...

  8. Java Synchronization

    Volatile Since Java 5 the volatile keyword guarantees more than just the reading from and writing to ...

  9. Word Ladder II 2015年6月4日

    Given two words (start and end), and a dictionary, find all shortest transformation sequence(s) from ...

  10. bzoj 4765 普通计算姬(树状数组 + 分块)

    http://www.lydsy.com/JudgeOnline/problem.php?id=4765 很nice的一道题啊(可能是因为卡了n久终于做出来了 题意就是给你一棵带点权的有根树,sum( ...