我从网上拷贝了个二级联动下拉框,是从数据库提取的,主要是省份与城市,表有两个provice(省份):provincename,provinceid
另个表是city(城市):cityid,provinceid,cityname ,以下是我的代码,出现问题的地方是当我选择一个省份时,城市不是与之对应的城市,而是city表中所有信息都调了出来,代码如下,请指导:
<!--#include file="conn.asp"-->
<!--#include file="admin/inc/function.asp"-->
<script language="javascript">
var j;
j=0;
goalert=new Array()
<%set rs=conn.execute("select * from lsml.dbo.city order by cityid")
if rs.eof then
%>
goalert[0]=new Array("无分类","","")
<%
else
i=0
do while not rs.eof
%>
goalert[<%=i%>]=new Array("<%=rs("cityname")%>","<%=rs("provinceid")%>","<%=rs("cityid")%>");
<%rs.movenext
i=i+1
loop
end if
rs.close
%>
j=<%=i%>;
function changeprovince(provinceid1)
{
document.myform.city.length=0;
document.myform.city.options[0]=new Option("请选择市区","");
var provinceid1=provinceid1;
var i;
for(i=0;i<j;i++)
{
if(goalert[i][1]=provinceid1)
{
document.myform.city.options[document.myform.city.length]=new Option(goalert[i][0],goalert[i][2]);
}
}
}
</script>
<form name="myform" method="post" action="wsbm_add.asp" onSubmit="return CheckInput()">
<select name="province" class="wenbenkuang" onChange="changeprovince(document.myform.province.options[document.myform.province.selectedIndex].value)">
<%set rs_pro=conn.execute("select * from lsml.dbo.province order by provinceid")
if rs_pro.eof then
%>
<option value="">无所在省份</option>
<%else%>
<option value="">请选择所在省份</option>
<%dim getid
getid=rs_pro("provinceid")
do while not rs_pro.eof%>
<option value="<%=trim(rs_pro("provinceid"))%>"><%=trim(rs_pro("provincename"))%></option>
<%
rs_pro.movenext
loop
end if
rs_pro.close
set rs_city=nothing
%>
</select>
<select name="city" class="wenbenkuang">
</select>
</form>
------解决方案--------------------
省份和城市之间应该有个字段关联的
set rs=conn.execute("select * from lsml.dbo.city order by cityid")
你这样是查找出所有的城市
而不是 根据你所选的省份查找出这个省份的城市
------解决方案--------------------
for(i=0;i <j;i++)
{
if(goalert[i][1]=provinceid1)
{
document.myform.city.options[document.myform.city.length]=new Option(goalert[i][0],goalert[i][2]);
}
}
==>
for(i=0;i <j;i++)
{
if(goalert[i][1]==provinceid1)
{
document.myform.city.options[document.myform.city.length]=new Option(goalert[i][0],goalert[i][2]);
}
}
------解决方案--------------------
可以下载这个看看,无限级连菜单,省市联动的:
http://download.csdn.net/source/379164
------解决方案--------------------
发生成的html代码
我怎么发现这个和我以前改的一个很接近....
不过忘记是哪个帖子了