小胖帮忙解决了用JS实现的连动,同时我用另外一种方法实现了 ,自此对脚本的数组和select有了新的认识
<%@ page contentType="text/html; charset=GB18030" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@page import="checkNumber.CityBean" %>
<%@page import="java.util.ArrayList" %>
<html>
<head>
<title>
selectTest
</title>
</head>
<body bgcolor="#ffffff">
<a href="select2Action.do">GO</a>
<form method="post" action="selectTest.jsp">
<br><br>
select1
<select name="select1" οnchange="select2Show(this)">
<option value="0" selected="selected">--select--</option>
<option value="1">湖北</option>
<option value="2">河南</option>
</select>
<br>
select2
<select name="select2">
<option value="0" selected="selected">--select--</option>
</select>
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
</form>
</body>
</html>
<script language="javascript">
var qq=new Array();
var count=0;
<%
ArrayList list=null;
CityBean bean=new CityBean();
if(request.getAttribute("citylist")!=null)
{
list=(ArrayList)request.getAttribute("citylist");
for(int i=0;i<list.size();i++)
{
bean=(CityBean)list.get(i);
%>
qq[count]=new Array("<%=bean.getProvinceId()%>","<%=bean.getId()%>","<%=bean.getCityName()%>");
count++;
// 方法三:
// qq.push(CreateNewOperion("<%=bean.getProvinceId()%>","<%=bean.getId()%>","<%=bean.getCityName()%>"));
<%
}
}
%>
function select2Show(s)
{
ClearAll(document.all.select2);
for(var j=0;j<count;j++)
{
if(s.value==qq[j][0])
{
var op=new Option();
// //方法二
// document.all.select2.options[j]=new Option(qq[j][2], qq[j][1]);
// 方法一
op.value=qq[j][1];
op.text=qq[j][2];
document.all.select2.add(op,j);
}
}
// 方法三:
// ClearAll(document.all.select2);
// for(var j=0;j<qq.length;j++)
// {
//
// if(s.value==qq[j].id){
// alert(qq[j].id);
// document.all.select2.add(qq[j]);}
// }
}
function CreateNewOperion(optionId,optionValue,optionText)
{
var newOption=new Option();
newOption.id=optionId;
newOption.value=optionValue;
newOption.text=optionText;
return newOption;
}
function ClearAll(selectobj)
{
for(var i=selectobj.options.length;i>0;i--)
selectobj.options.remove(0);
}
</script>