<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function fn() {
var select = document.getElementById("city"); //获得城市 元素对象
var c = select.value; //获得选择的值value="" var area = document.getElementById("area"); //获得区域 元素对象 switch (c) { //条件语句
case "jx": area.innerHTML = "<option>抚州市</option><option>南昌市</option><option>赣州市</option><option>宜春市</option>";
break;
case "gd": area.innerHTML = "<option>广州市</option><option>韶关市</option><option>佛山市</option><option>东莞市</option>";
break;
case "fj": area.innerHTML = "<option>泉州市</option><option>厦门市</option><option>福州市</option><option>漳州市</option>";
break;
case "hn": area.innerHTML = "<option>长沙市</option><option>湘潭市</option><option>乐昌市</option><option>郴州市</option>";
break;
default: alert("error");
}
}; </script>
</head>
<body>
<select id="city" onchange="fn()"> <!--下拉框的改变事件-->
<option value="jx">江西</option>
<option value="gd">广东</option>
<option value="fj">福建</option>
<option value="hn">湖南</option>
</select>
<select id="area">
<option>抚州市</option>
<option>南昌市</option>
<option>赣州市</option>
<option>宜春市</option>
</select>
</body> </html>

2.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<select id="one">
<option>请输入省份</option>
</select>
<select id="two">
<option>请输入市</option>
</select>
<select id="three">
<option>请输入区</option>
</select>
<script type="text/javascript">
var oone = document.getElementById("one"); //获得下拉框元素对象
var otwo = document.getElementById("two"); //获得下拉框元素对象
var three = document.getElementById("three");//...
var str = ''; //定义一个空字符串
otwo.disabled = true; //禁用元素
three.disabled = true; //禁用元素
//包含多个个对象的数组
var arr1 = [
{ "id": "1", "value": "北京" },
{ "id": "2", "value": "上海" },
{ "id": "3", "value": "重庆" },
{ "id": "4", "value": "天津" },
{ "id": "5", "value": "山东" }
];
for (var i = 0; i < arr1.length; i++) { //遍历这个对象数组
str += "<option value=" + arr1[i].id + ">" + arr1[i].value + "</option>"
}
oone.innerHTML = str; //添加下拉框1 【添加内容】 var arr2 = { //json对象 ,这是一个拥有一个1【多个数组】的对象
'1': ['101@北京'],
'2': ['201@上海'],
'3': ['301@重庆'],
'4': ['401@天津'],
'5': ['501@济南', '502@青岛']
};
oone.onchange = function () { //下拉框1内容改变事件
var val = this.value; //获取选择项value值
var arrA = arr2[val]; //调用json对象的值 var str1 = '<option>请输入市</option>';
for (var j = 0; j < arrA.length; j++) { //遍历json对象的值
var aaa = arrA[j].split('@');//分割字符串 返回字符串数组
str1 += "<option value=" + aaa[0] + ">" + aaa[1] + "</option>"
}
otwo.innerHTML = str1; //下拉框2 【添加内容】
otwo.disabled = false; //下拉框元素启用
three.innerHTML = '<option>请输入区</option>'; //下拉框3 【添加内容】
//three.disabled = 'disabled'; //下拉框3禁用元素
three.disabled = true; //下拉框3禁用元素
}
var arr3 = {
'101': ['朝阳区', '昌平区'],
'201': ['宝山区', '浦东区'],
'301': ['不知道'],
'401': ['真的不知道'],
'501': ['市中区', '历下区', '槐荫区'],
'502': ['市南区', '市北区', '崂山区']
};
otwo.onchange = function () { //下拉框2内容改变事件
var val = this.value; //获取选择项value值
var str2 = '<option>请输入区</option>';
for (var l = 0; l < arr3[val].length; l++) { //遍历json对象的值
str2 += "<option >" + arr3[val][l] + "</option>"
}
three.innerHTML = str2; // //下拉框3 【添加内容】
three.disabled = false; //取消禁用元素
}
</script>
</body>
</html>

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

  1. 原生js二级联动

    今天说的这个是原生js的二级联动,在空白页面里动态添加并作出相对应的效果. 1 //创建两个下拉列表 select标签 是下拉列表 var sel = document.createElement(& ...

  2. Ext.js二级联动

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

  3. js二级联动

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

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

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

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

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

  6. JS实现下拉单的二级联动

    因工作需要,做了一个下拉单的二级联动. 第一级是固定的选项,有A.B两个选项,第二级的选项随着第一级选项的变化而变化. 一开始是这样的: HTML代码 <html> <head> ...

  7. 利用JS实现一个简单的二级联动菜单

    前几天在看js的相关内容,所以就简单写了一个二级联动菜单.分享一下. <!DOCTYPE html> <html lang="en"> <head&g ...

  8. js:二级联动示例

    联动原理 当用户点击省级的下拉选项,选择所在省,下一个下拉选项里的选项,则变成用户选择省下的所有市的信息,不会出现其它省市的信息. 省市数据 把省市数据,保存在js文件中,以json形式保存,以便读取 ...

  9. js小例子之二级联动

    联动原理 当用户点击省级的下拉选项,选择所在省,下一个下拉选项里的选项,则变成用户选择省下的所有市的信息,不会出现其它省市的信息. 省市数据 把省市数据,保存在js文件中,以json形式保存,以便读取 ...

随机推荐

  1. Maven学习总结(5)——聚合与继承

    Maven学习总结(五)--聚合与继承 一.聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合 1.1.聚合配置代码 <modules> <module> ...

  2. [luoguP2024] 食物链(并查集)

    传送门 经典的并查集问题 对于这种问题,并查集需要分类 开3*n的并查集,其中x用来连接与x同类的,x+n用来连接x吃的,x+2*n用来连接x被吃的. 1 x y时,如果 x吃y 或 x被y吃,那么为 ...

  3. Servlet中使用RequestDispatcher调派请求--include

    一共有两种调派方式,一个是include用于包含进来,一个是forward,是转发出去. 这时先测试包含的include方式. Some.java: package cc.openhome; impo ...

  4. ASP.NET MVC 源码分析(二) —— 从 IRouteBuilder认识路由构建

    我们来看IRouteBuilder的定义: public interface IRouteBuilder { IRouter DefaultHandler { get; set; } IService ...

  5. 洛谷——P1106 删数问题

    https://www.luogu.org/problem/show?pid=1106 题目描述 键盘输入一个高精度的正整数N,去掉其中任意k个数字后剩下的数字按原左右次序将组成一个新的正整数.编程对 ...

  6. shell中eval命令

    原文:http://www.cnblogs.com/xdzone/archive/2011/03/15/1984971.html 语法:eval cmdLine eval会对后面的cmdLine进行两 ...

  7. [RK3288][Android6.0] U-boot 启动流程小结【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/52536093 Platform: RK3288OS: Android 6.0Version: ...

  8. splunk的bucket组织目录——时间序列,按照时间来组织目录

    splunk的bucket组织目录:db_1481515116_1480695302_0db_1481537316_1481532688_1db_1481547598_1481539988_2db_1 ...

  9. bzoj 2252 [ 2010 Beijing wc ] 矩阵距离 —— 多源bfs

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2252 又没能自己想出来... 一直在想如何从每个1开始广搜更新答案,再剪剪枝,什么遇到1就不 ...

  10. css定位、position与float同时使用的情况

    一.css定位 CSS 有三种基本的定位机制:普通流.浮动和绝对定位. 1.普通流:未专门指定的元素都在普通流中定位,position:static/relative;和float:none;也在普通 ...