今天说的这个是原生js的二级联动,在空白页面里动态添加并作出相对应的效果。 

1 //创建两个下拉列表 select标签 是下拉列表
var sel = document.createElement("select");
var sel1 = document.createElement("select");
//添加到body
document.body.appendChild(sel);
document.body.appendChild(sel1);
// 创建一个数组
var firstSelectArr = ["未选择","医院","学校","公司","星座"];
var detailFirstArr = ["未选择","院长","主任","大夫","护士"];
var detailSecondArr = ["未选择","校长","老师","学生","主任"];
var arr2 = ["未选择","CEO","职员","主任","下属"];
var arr3 = ["未选择","白羊座","射手座","处女座","天秤座"];
function addChild(arr,parentN){
//封装函数
for(var i=0;i<arr.length;i++){
//创建 option节点
var opt = document.createElement("option");
//设置显示文字
opt.innerText = arr[i];
//把节点添加到sel中
parentN.appendChild(opt); }
}
//调用函数 给第一个select添加option
addChild(firstSelectArr,sel) //循环创建多个下拉选项 //给第一个下拉列表添加onchange事件
//onchange事件:当元素的值发生改变时,触发此事件。
sel.onchange = function (){
// selectdIndex.下拉列表的索引
console.log(sel.selectedIndex);
switch (sel.selectedIndex){
case 0:
alert("未选择");
break;
case 1:
delectOldOpt();
addChild(detailFirstArr,sel1);
break;
case 2:
delectOldOpt();
addChild(detailSecondArr,sel1);
break;
case 3:
delectOldOpt();
addChild(arr2,sel1);
break;
case 4:
delectOldOpt();
addChild(arr3,sel1);
break;
} }
//删除select原来的option
function delectOldOpt(){
//到这删除下拉列表中的选项
for(var i=sel1.childNodes.length-1;i>=0;i--){
//删除选项
sel1.removeChild(sel1.childNodes[i]);
} }

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

原生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. OAuth 2.0: Bearer Token Usage

    Bearer Token (RFC 6750) 用于HTTP请求授权访问OAuth 2.0资源,任何Bearer持有者都可以无差别地用它来访问相关的资源,而无需证明持有加密key.一个Bearer代表 ...

  2. C# 在iis windows authentication身份验证下,如何实现域用户自动登录

    前言: 该博文产生的背景是有个项目在客户那部署方式为iis windows身份验证,而客户不想每次登录系统都要输入帐号和密码来登录. 因此需要得到域用户,然后进行判断该用户是否可以进入系统. 解决方法 ...

  3. Docker - 终端交互

    进入容器交互终端 使用docker attach命令进入容器交互终端. 注意:如果多个窗口同时attach到同一个容器,那么所有窗口都会同步显示.如果某个窗口因命令阻塞时,那么其他窗口将无法执行操作. ...

  4. N维法向量与N维超平面的关系的简单证明(日志二)

    虽然按照上面的方式证明出来,但感觉之中,似乎依旧是不严密的, 如下: 如果直线是2x+2y+1=0 那么(-1,1)也是其平行向量 ,.那么(1,1)依旧是法向量 此时,直线经过(0,-1/2)这个点 ...

  5. vue视频学习笔记05

    video 5 vue2.0:bower info vue http://vuejs.org/到了2.0以后,有哪些变化? 1. 在每个组件模板,不在支持片段代码组件中模板:之前:<templa ...

  6. HDFS 架构简述

    HDFS 架构简述 Hadoop分布式文件系统(HDFS)是一个分布式的文件系统,运行在廉价的硬件上.它与现有的分布式文件系统有很多相似之处.然而与其他的分布式文件系统的差异也是显着的.HDFS是高容 ...

  7. 使用expect的自动化交互

    Q:利用shell脚本实现ssh自动登录远程服务器? A:expect命令 #!/usr/bin/expect spawn ssh root@172.16.11.99 expect "*pa ...

  8. 为什么非全站升级HTTPS不可?

    升级HTTPS已经是大势所趋,但仍有大量互联网企业犹豫是否要全站升级HTTPS,为此本文梳理了全站升级HTTPS与部分升级HTTPS的优劣势对比,来判断是否真的有必要进行全站HTTPS升级. HTTP ...

  9. 编写自己的一个简单的web容器(二)

    昨天我们已经能够确定浏览器的请求能够被我们自己编写的服务类所接收并且我们服务类响应的数据也能够正常发送到浏览器客户端,那么我们今天要解决的问题就是让我们的数据能够被浏览器识别并解析. Http(Htt ...

  10. Jmeter 初学(一)

    Jmeter 目前属于比较流行的测试工具,即可做自动化测试也可以做性能测试,而且比较方便. 环境准备: Jmeter 运行环境需要跑在java环境,首先需要安装一下java的环境,由于我目前使用的Jm ...