JS与ASP嵌套循环

<div id="diqu1">
<h1>地区分类</h1>
<%
set rsdd=Server.CreateObject("adodb.recordset")
sqldd="select * from dianjia_d_dizhi"
rsdd.open sqldd,conn,1,1
do while not rsdd.eof
%>
<a href="#" onclick="Fsubmenu('<%=rsdd("mc")%>')"><span><%=rsdd("mc")%></span></a>
<%
rsdd.movenext
loop
%>
<%
rsdd.close
set rsdd=nothing
%>
</div>
<div id="diqu2"></div>

<script language="javascript1.2">
<!--
function Fsubmenu(value){
switch(value){
<%
set rsddz=Server.CreateObject("adodb.recordset")
sqlddz="select * from dianjia_d_dizhi"
rsddz.open sqlddz,conn,1,1
do while not rsddz.eof
%>
case "<%=rsddz("mc")%>市":
diqu2.innerHTML="<%
set rsxdz=Server.CreateObject("adodb.recordset")
sqlxdz="select * from dianjia_x_dizhi where dadizhiid='"&rsddz("id")&"'"
rsxdz.open sqlxdz,conn,1,1
do while not rsxdz.eof
%><a href='srarch_quyu.asp?daquyu=<%=rsddz("mc")%>&xiaoquyu=<%=rsxdz("mc")%>'><%=rsxdz("mc")%>区</a>|
<%
rsxdz.movenext
loop
rsxdz.close
set rsxdz=nothing
%>";
break;
<%
rsddz.movenext
loop
rsddz.close
set rsddz=nothing
%>
}
}
//-->
</script>
为什么这样的代码浏览器难以解析,打不开呢?
我问你们呢!

首先Javascript多重选择判断多了“市”,而这个“市”原意只是用来显示的吧?
可以
把:
<a href="#" onclick="Fsubmenu('<%=rsdd("mc")%>')"><span><%=rsdd("mc")%></span></a>
改成:
<a href="#" onclick="Fsubmenu('<%=rsdd("mc")%>')"><span><%=rsdd("mc")%>市</span></a>

把:
case "<%=rsddz("mc")%>市":
改成:
case "<%=rsddz("mc")%>

再次ASP中的循环输出每次多了一对换行符,可以先用临时变量存着,循环后再一次性地输出。当然进入循环时先要清空这个临时变量。
rsxdz.open sqlxdz,conn,1,1
tmp=""
do while not rsxdz.eof
tmp=tmp+"<a href='srarch_quyu.asp?daquyu="&rsddz("mc")&"&xiaoquyu="&rsxdz ("mc")&"'>"&rsxdz("mc")&"区</a>|"
rsxdz.movenext
loop
response.write tmp
rsxdz.close
set rsxdz=nothing
%>";":
花了我几分钟,搞定!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-11-24
打不开呢?
第2个回答  2007-11-24
打不开