<select>的三级级联:
前两天有一个网友(刚参加工作)找我问jsp三级联的问题 ,其实这也比较简单(我让他到网上找一下,他说找的东不怎么看的懂),想着别人也不容易,也就帮他一下吧,当时我也就草写了一点代码,今天想了一下,可能还有这样需要的朋友,所以就把这代码帖出来供需要的人借鉴。在这里我先不多说废话,我们先看一个最为简单的 JSP 例子,我们通过该例子来互相学习、探讨、回味。
<html>
<head>
<base href="<%=basePath%>">
<title>三级级联</title>
<script type="text/javascript">
var arr = new Array();
arr[1]=new Array("成都",1,1,"");
arr[2]=new Array("绵阳",2,1,"");
arr[3]=new Array("大邑",3,1,"");
arr[4]=new Array("北京市",4,2,"");
arr[5]=new Array("锦江区",5,"",1);
arr[6]=new Array("青羊区",6,"",1);
arr[7]=new Array("高新区",7,"",1);
//以上的Array 里的四个参数
//第一个是我们要在页面上显示的
//第二个是相应的 Value 的值
//三四个是用来做相关判断的
var one;
var two;
var three;
//用来设置 select 的初始大小
window.attachEvent("onload",initCallPurposeDetailPage);
function initCallPurposeDetailPage()//初始化页面
{
one=document.getElementById("select");
two=document.getElementById("select1");
three=document.getElementById("select2");
}
function a(tValue)
{
if(tValue == 0){
two.length=1;//当我们选择“请选择”时设置全部 select 的大小
}
else{
two.length=1;
three.length=1;
for(i=1 ; i < arr.length;i++)
{
if((arr[i][2]==tValue)) {
two.options[two.length]=new Option(arr[i][0],arr[i][1]);
}
}
}
}
function b(tValue)
{
if(tValue == "0")
{
three.length=1;//当我们选择“请选择”时设置全部 select 的大小
}
else
{
three.length=1;
for(i=1 ; i < arr.length;i++)
{
if((arr[i][3]==tValue))
{
three.options[three.length]=new Option(arr[i][0],arr[i][3]);
}
}
}
}
</script>
</head>
<body>
<form action="" name="form1">
<select name="select" οnchange="a(this.value);">
<option value="0">
请选择
</option>
<option value="1">
四川
</option>
<option value="2">
北京
</option>
</select>
<select name="select1" οnchange="b(this.value);">
<option value="0">
请选择
</option>
</select>
<select name="select2">
<option>
请选择
</option>
</select>
</form>
</body>
</html>