<javascript语言部分>
<%
List dqList=(List)request.getAttribute("dqList");
List cityList=(List)request.getAttribute("cityList");
%>
<script type="text/JavaScript">
//----------------------------自定义initArea()构造函数
function InitArea() {
this.PID="";
this.ID="";
this.Name="";
}
//----------------定义数组(全局变量),存储cityList.
city=new Array();
<%//java代码开始
String name = null;
Integer id=null;
Integer area_Id=null;
int t=0;
Iterator iterator = cityList.iterator();
//-----------------------把cityList循环存入ctiy数组
//-------------------------------------------------循环开始
while (iterator.hasNext()) {
City bo = (City)iterator.next();
area_Id=bo.getArea().getId();
name =bo.getCityName();
id=bo.getId();
%>//java代码结束
//----------生成一个自定义对象,把引用赋给ctiy
city[<%=t%>]=new InitArea();
//---------------------------给新对象赋值,存入city
city[<%=t%>].PID="<%=area_Id%>";
city[<%=t%>].ID="<%=id%>";
city[<%=t%>].Name="<%=name%>";
<%t++;}%>
//--------------------------------------------------循环结束
//--------------------------------定义selectChanged()函数
function selectChanged() {
//----------------------获得选中dq的值
var selectvalue = document.forms[0].elements["dq"].value;
//-----------------------给cs的options长度初始化
document.forms[0].elements["cs"].options.length = 0;
//如果地区值为空,返回
if (selectvalue =="") {
return;
}
//取city的长度做为循环条件
for(var t=0;t<city.length;t++){
//它的pid值等于slectvalue值就增加一个option对象
if(city[t].PID == selectvalue){
var objOption1_1 = document.createElement("option");
objOption1_1.text = city[t].Name;
objOption1_1.value= city[t].ID;
document.forms[0].elements["cs"].add(objOption1_1);
}
}
}
</script>
<body部分>
<body οnlοad="selectChanged();">
<form name="form1" action" method="post">
.....................................................................................
<td>* 地区:
<select οnchange="selectChanged();" name="dq" >
<option value="">不限</option>
<%
if(dqList!=null&&dqList.size()>0){
for(int i=0;i<dqList.size();i++){
area=(Area)dqList.get(i);
if(!"".equals(areaId)&areaId.equals(String.valueOf(area.getId()))){
%>
<option value="<%=area.getId()%>" selected><%=area.getAreaName()%></option>
<%}else{ %>
<option value="<%=area.getId()%>"><%=area.getAreaName() %></option>
<%}}} %>
</select>
</td>
</tr>
<tr>
<td>* 城市:
<select name="cs" id="cs" ></select>
</td>
</tr>
...................................................................................
</form>
</body>