是否还被游戏服务区的选择而惊叹?是否还被选择框的自动生成而诧异?其实一切都是“纸老虎”!
在这里U can do it!
首先,在select中,value和text的区别在于:value是客户看不见的值;而text是客户可以看见的值。也就是说二级联动(比如常见的选择不同的省份有不同的地区)是在你改变了省份之后,触发事件,传递对应的value给第二级,第二级的select根据你传递的value改变了自己的text值。以此类推,向下传递。
好了上代码!
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>联动</title>
</head>
<body>
<select id="s1" onChange="move()">
<!-- 根据id获取value,onchange()触发函数move()修改二级select的text值实现联动 -->
<option selected value="s1">-- 请选择 --</option>
<!--默认选中-->
<option value="SC">SC</option>
<option value="BJ">BJ</option>
<option value="TJ">TJ</option>
</select>
<select id="s2">
<option selected>-- 请选择 --</option>
<!--默认选中,动态生成option -->
</select>
<script>
function move()
{
var s1=document.getElementById("s1");
var s2=document.getElementById("s2");
<!-- 获取一级和二级的属性-->
var add;
if(s1.value=="SC")
{
add=new Array("CD","DZ","MY","NC");
<!--比对value值,实现对应二级text值的动态生成-->
}else if(s1.value=="BJ")
{
add=new Array("HD","CY","WFJ");
<!--比对value值,实现对应二级text值的动态生成-->
}else if(s1.value=="TJ")
{
add=new Array("TJG","TJ","TJY");
<!--比对value值,实现对应二级text值的动态生成-->
}else if(s1.value=="s1")
{
add=new Array("请选择");
}
else
{
add=null;
<!--若没有就为空,当然不可能出现的-->
}
s2.length=0;
for(var i=0;i<add.length;i++)
{
var ss=new Option();
ss.text=add[i].split()[0];
s2.add(ss);
<!--把text值添加到二级select中,显示出来-->
}
}
</script>
</body>
</html>
效果如下:
选择BJ:
选择“请选择”:
完事,如果想都多级联动以此类推。(比如国家,省份,地区等等)
欢迎留言1099723261@qq.com
SchopenhauerZhang
(For Communication Techology)