原生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 ...
随机推荐
- AOJ/堆与动态规划习题集
ALDS1_9_A-CompleteBinaryTree. Codes: //#define LOCAL #include <cstdio> int parent(int i) { ret ...
- DIV+CSS 规范命名集合
一: 命名规范说明: 1).所有的命名最好都小写 2).属性的值一定要用双引号("")括起来,且一定要有值如class="divcss5",id="d ...
- JavaScript常用的方法和函数(setAttribute和getAttribute )
仅记录学习的新知识和示例,无干货. 1.setAttribute和getAttribute (Attribute:属性) setAttribute:为元素添加指定的属性,并为其赋值: ...
- Asp.net mvc 小试牛刀一:多语言支持
最近因为项目需要又从UWP开发转到了Asp.net mvc 开发,由于也不是什么老手,所以就将项目常见的一些技术问题记录一下自己的解决方案. 第一个需求:用户可以自由切换界面显示语言. 解决方案一:界 ...
- MySql5.7环境搭建
1. 安装mysql的linux系统 [root@grewan ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [root@grewan ...
- 深入学习webpack(一)
深入学习webpack(一) 模块化的相关库和工具已经很多了,包括require.js.sea.js和一些工程化工具webpack.gulp.grant.那么我们该如何选择呢? 其实,我们只需要掌握了 ...
- LeetCode---------Add Two Numbers 解法
You are given two non-empty linked lists representing two non-negative integers. The digits are stor ...
- Java Synchronization
Volatile Since Java 5 the volatile keyword guarantees more than just the reading from and writing to ...
- Word Ladder II 2015年6月4日
Given two words (start and end), and a dictionary, find all shortest transformation sequence(s) from ...
- bzoj 4765 普通计算姬(树状数组 + 分块)
http://www.lydsy.com/JudgeOnline/problem.php?id=4765 很nice的一道题啊(可能是因为卡了n久终于做出来了 题意就是给你一棵带点权的有根树,sum( ...