一个关于二级联动的问题
其实也不算是标题说的问题。实际应该算是java脚本的问题。
下面是我的asp+javascript
----------------------------------------
<script type="text/javascript">
<%
dim sql,i,j
set rs_Province=server.createobject("adodb.recordset")
sql="select * from Province order by ProvinceOrder"
rs_Province.open sql,conn,1,1
%>
var selects=[];
selects['xxx']=new Array(new Option('请选择城市……','xxx'));
<%
for i=1 to rs_Province.recordcount
%>
selects['<%=rs_Province("ProvinceNo")%>']=new Array(
<%
set rs_City=server.createobject("adodb.recordset")
sql="select * from City where ProvinceID="&rs_Province("ProvinceNo")&" order by CityOrder"
rs_City.open sql,conn,1,1
if rs_City.recordcount>0 then
for j=1 to rs_City.recordcount
if j=rs_City.recordcount then
%>
new Option('<%=trim(rs_City("CityName"))%>','<%=trim(rs_City("CityNo"))%>'));
<%else%>
new Option('<%=trim(rs_City("Cityname"))%>','<%=trim(rs_City("CityNo"))%>'),
<%
end if
rs_City.movenext
next
else
%>
new Option('','0'));
<%
end if
rs_City.close
set rs_City=nothing
rs_Province.movenext
next
rs_Province.close
set rs_Province=nothing
%>
function chsel(){
with (document.form1){
if(Province_select.value) {
City_select.options.length=0;
for(var i=0;i<selects[Province_select.value].length;i++){
City_select.add(selects[Province_select.value][i]);
}
}
}
}
</script>
-----------------------------------
代码是没问题我点“Province_select”下拉框的时候老出现“缺少对象”后来研究生成的后的html后发现是多了换行才出错的,以下是成的后的html:
-----------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 2</title>
</head>
<script type="text/javascript">
var selects=[];
selects['xxx']=new Array(new Option('请选择城市……','xxx'));
selects['0']=new Array(
new Option('北京市
','1'));
selects['1']=new Array(
new Option('合肥市
','2'),
new Option('芜湖市','3'),
new Option('安庆市','4'));
selects['2']=new Array(
new Option('济南市','5'),
new Option('青岛市','6'));
selects['3']=new Array(
new Option('','0'));
function chsel(){
with (document.form1){
if(Province_select.value) {
City_select.options.length=0;
for(var i=0;i<selects[Province_select.value].length;i++){
City_select.add(selects[Province_select.value][i]);
}
}
}
}
</script>
<body>
<script language=javascript>
</script>
<form name=form1>
最后,结合html,Javascript和Vbscript实现联动效果。代码如下:
<!--//////////////////////////Province_select下拉列表//////////////////////////-->
<select name="Province_select" onChange=chsel()>
<option value="xxx" selected>请选择省份……</option>
<option value="0" >北京市</option>
<option value="1" >安徽省</option>
<option value="2" >山东省</option>
<option value="3" >江苏省</option>
</select>
<!--//////////////////////////City_select下拉列表//////////////////////////-->
<select name="City_select">
</select>
</form>
</body>
</html>
-----------------------------
大家注意到了没有“北京市"后面换行了。所以java出错。。我实在找不到为什么,请大家帮忙了。。