原生js二级联动
今天说的这个是原生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二级联动的更多相关文章
- 原生js的联动全选
开发应用中有很多工具可以使用,下面介绍一个原生js写的联动全选思路!!! <!DOCTYPE html> <html lang="en"> <head ...
- 原生js三级联动
<!DOCTYPE html> <html lang="en"> <head> <title> 三级联动 </title> ...
- Ext.js二级联动
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link href ...
- js二级联动
<body> <section> <a>省份</a> <select id="province"> <option ...
- js 二级联动
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 省市二级联动(原生JS)
代码如下: <html> <head> <meta charset="UTF-8"> <title>省市二级联动</title ...
- 原生js实现二级联动下拉列表菜单
二级联动下拉列表菜单的难点在于对后台返回的数据进行解析,不多逼逼,直接上代码 上图是后台返回的数据 实现代码如下: var deviceNotExist = true;//防止数据重复 if(data ...
- xml+js+html的二级联动
首先需要准备的文档是: cities.xml //主要是标注中国各省及其各省下的各个城市 内容如下: <?xml version="1.0" encoding="U ...
- 省市二级联动--使用app-jquery-cityselect.js插件
只有省市二级联动,三级联动还没处理好,会尽快完善. 嵌入id: <div class="form-group"> <label>地址</label&g ...
随机推荐
- 单源最短路Dijkstra算法——matlab实现
迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径. 它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止. 基本思想 通过Dijk ...
- SSH 远程执行任务
SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是太浪费啦!SSH 命令可是完成远程操作的神器啊,借助它我们可以把很多的远程操作自动化掉!下面就对 SSH 的远程操作功能进 ...
- 封装GCD以及介绍如何使用
研究GCD有一段时间,翻译了多篇文章,找了很多的资料,看了很多官方文档,看起来很难,实际上很简单,本人一一进行讲解怎么使用. 支持ARC以及非ARC,无论在ARC环境还是在非ARC环境,都需要调用di ...
- Commonjs规范及Node模块实现
前面的话 Node在实现中并非完全按照CommonJS规范实现,而是对模块规范进行了一定的取舍,同时也增加了少许自身需要的特性.本文将详细介绍NodeJS的模块实现 引入 nodejs是区别于java ...
- centOS7下安装GUI图形界面
1.如何在centOS7下安装GUI图形界面 当你安装centOS7服务器版本的时候,系统默认是不会安装GUI的图形界面程序,这个需要手动安装CentOS7 Gnome GUI包. 2.在系统下使用命 ...
- yii2 resetful 授权验证
什么是restful风格的api呢?我们之前有写过大篇的文章来介绍其概念以及基本操作. 既然写过了,那今天是要说点什么吗? 这篇文章主要针对实际场景中api的部署来写. 我们今天就来大大的侃侃那些年a ...
- winform无边框窗口拖动
无边框的窗口想拖动,只需要在置顶的容器上添加对应的mousedown 和 mousemove 事件就可以实现了.代码如下: //拖动窗口 private Point mPoint = new Poin ...
- vim 和grep 正则表达式相似和区别
正则表达式由两种基本字符类型组成:原义(正常)文本字符和元字符.元字符使正则表达式具有处理能力.所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符 ...
- DB太大?一键帮你收缩所有DB文件大小(Shrink Files for All Databases in SQL Server)
本文介绍一个简单的SQL脚本,实现收缩整个Microsoft SQL Server实例所有非系统DB文件大小的功能. 作为一个与SQL天天打交道的程序猿,经常会遇到DB文件太大,把空间占满的情况: 而 ...
- Lua学习(3)——控制结构
Lua提供了一组传统的,小巧的控制结构,包括用于条件执行的if,用于迭代的while.repeat和for.所有的控制结构都有一个现实的终止符号:if for while 都以end结尾,repeat ...