select下拉菜单二级联动
二级联动效果大家可能都比较熟悉,比如省市二级联动效果。
从它的使用频度就可以看出它的重要性,下面就通过代码实例详细介绍一下它的实现过程。
代码实例:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="/" />
<title>实例</title>
<script>
window.onload=function(){
var province = document.getElementById("province");
var city = document.getElementById("city");
var area = [['朝阳','海淀'],['杭州','海宁']];
function choose(){
var opt = "";
if(province.value==undefined){
province.value=0;
}
var len = area[province.value];
for(var index = 0;index < len.length; index++){
opt = opt + '<option value ="'+ index +'"> '+ len[index]+ '</option>'
}
city.innerHTML = opt;
}
province.onchange = function(){
choose();
}
choose();
}
</script>
</head>
<body>
<select id="province">
<option value="0">北京</option>
<option value="1">浙江</option>
</select>
<select id="city">
</select>
</body>
</html>
上面的代码实现了联动效果,只是做了精简而已,下面就介绍一下它的实现过程。
一.代码注释:
(1).window.onload=function(){},当文档内容完全加载完毕再去执行函数中的代码。
(2).var province = document.getElementById("province"),获取省份select下拉菜单。
(3).var city = document.getElementById("city"),获取城市select下拉菜单。
(4).var area = [['朝阳','海淀'],['杭州','海宁']],一个模拟的二维数组,存放的是城市或者区。
(5).function choose(){},作为onchange事件处理函数。
(6).var opt = "",此变量用来存储option项相关字符串。
(7).if(province.value==undefined){
province.value=0;
},如果属性值等于undefined,也就是在默认状态会显示第一个子数组中城市或者区。
(8).var len = area[province.value],显示指定的子数组,城市select下拉菜单的value值是和数组中子数组城市索引关联。
(9).for(var index = 0;index < len.length; index++){
opt = opt + '<option value ="'+ index +'"> '+ len[index]+ '</option>'
},遍历子数组中的每一个城市或者区,连接成option字符串。
(10).city.innerHTML = opt,设置option项。
(11).province.onchange = function(){
choose();
},注册onchange事件处理函数。
(12).choose(),为了显示默认省份和城市或者区。
二.相关阅读:
(1).二维数组参阅 JavaScript 二维数组 一章节。
(2).onchange 事件参阅 JavaScript change 事件 一章节。
(3).innerHTML 属性参阅 JavaScript innerHTML 一章节。
相关推荐
-
javascript删除数组重复元素代码实例
本章节介绍一下如何实现删除数组中的重复元素功能。代码实例:function rmovDulicts(rr){ vr tm = {}; for(vr indx=0;indx
-
js动态修改元素中的内容代码实例简单介绍
本章节分享一段代码实例,它实现了动态修改元素中内容的效果。代码实例
-
javascript动态加载css文件代码实例
有时候需要根据需要动态加载一个css文件。下面就是一段能够实现此功能的代码片段,如下:vr l=documnt.crtlmnt(link);l.rl=stylsht;l.
-
JavaScript数组开头或者结尾删除元素
本章节介绍一下如何从数组的开头或者结尾删除数组中的元素。代码实例如下:vr rr=[1,2,3,4];rr.o();consol.log(rr);使用o()方法可以删除数组的最后一个
-
jQuerydiv元素拖动效果代码实例
本章节分享一段代码实例,它实现了元素的拖动效果。代码非常的简单,有这方面需求的朋友可以做一下参考。代码实例如下:ut