今天说的这个是原生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. java泛型探索——小特性

    泛型特性(小篇幅) 1. 补充介绍一些常见的泛型特性: 类型参数T可以是recursive(类似递归性),它的边界可以是类型参数是自身的接口或类. 如我实现寻找最大值的方法,可以这么写: public ...

  2. AngularJS的this详解

    [this详解]                   1.谁最终调用函数,this指向谁.             ① this指向的,永远只可能是对象!!!!!!             ② thi ...

  3. JAVA虚拟机系列文章

    本系列文章主要记录自己在学习<深入理解Java虚拟机-JVM高级特性与最佳实践>的知识点总结,文章内容都是基于周志明所著书籍的总结. 1.Java内存区域与溢出 2.垃圾收集器与内存分配策 ...

  4. 关于TOE(TCP/IP Offload Engine)

    前言 昨天在电脑上抓取的报文,想进行回话,但是发现全部被设备丢弃了,没有debug信息,查看了抓包文件,原来是IP头和TCP.UDP头的检验和全部为0,也就是TOE(TCP/IP Offload En ...

  5. Welcome to my Blog

    Only English? Oh my god!!! why open live write can't write by Chinese?

  6. JPA - hibernate 的各种常见用法

        近期在做的项目使用的JPA,所以在此跟大家分享一下JPA的一些常见使用方法.     JPA 是 JCP 组织发布的 Java EE 标准之一,因此任何声称符合 JPA 标准的框架都遵循同样的 ...

  7. Jenkins 发布后自动创建git tag

    为了便于项目中对发布的版本进行回滚,所以我们每次发布完成以后自动创建git tag. 1,创建一个Jenkins任务,命名成为push_tag_demo: 2,配置<源码管理>,这里配置比 ...

  8. PHP是什么文件? 如何打开?

    PHP是什么文件?  PHP,一个嵌套的缩写名称,是英文"超级文本预处理语言"(PHP:Hypertext Preprocessor)的缩写.PHP 是一种 HTML 内嵌式的语言 ...

  9. ASP.NET Gridview数据库绑定支持增删改,记得要完整实现

    1.错误情况 /WebSite3"应用程序中的服务器错误. 指定的参数已超出有效值的范围. 参数名: index 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息, ...

  10. Ubuntu怎样进行自由截图操作

    全屏截图 1. 很简单,键盘上右上角都有一个 Print Screen按键,敲一下,全屏截图操作完成. 自由截图 1. 此种方式很简单,打开系统设置->键盘,进入shortcuts选项 2. 点 ...