标题:请教yms123,谢谢!
只看楼主
princes
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-24
得分:0 
yms123:
你好!
是的,<td><a href=# onclick=ShowLayer(0);><%=rs("menu_name")%>菜单一</a></td>这个红色字的通过ShowLayer传回的index值我没有循环,这个地方我不太清楚怎么做循环,哈哈,因为上面那个js我是用你得写的。但是这个与下面的子菜单有关吗?我显示的子菜单的个数有三个啊,只是不能显示其他另外两个子菜单的名称。如果主菜单这里也需要做循环的话,那么请教yms123,应该怎么写?非常感谢!


2006-05-26 15:04
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
回复:(princes)yms123: 你好!是的,<td>&...
以下是引用princes在2006-5-26 15:04:00的发言:
yms123:
你好!
是的,<td><a href=# onclick=ShowLayer(0);><%=rs("menu_name")%>菜单一</a></td>这个红色字的通过ShowLayer传回的index值我没有循环,这个地方我不太清楚怎么做循环,哈哈,因为上面那个js我是用你得写的。但是这个与下面的子菜单有关吗?我显示的子菜单的个数有三个啊,只是不能显示其他另外两个子菜单的名称。如果主菜单这里也需要做循环的话,那么请教yms123,应该怎么写?非常感谢!


当然有关系了,如果这里的值不循环就是再怎么改代码也只能显示一个。
<%
Dim divNum
divNum=0

if not rs.eof then
rs.movefirst
Do Until rs.EOF
strSonMenu = rs("menu_id")
%>
<tr>
<td><a href=# onclick=ShowLayer(<%=divNum%>);><%=rs("menu_name")%>菜单一</a></td>
</tr>
<%
response.write strSonMenu
if rs1.state=1 then rs1.close
rs1.Open "select * From menu_info Where Parent_id='" & strSonMenu & "'",cn,1,1
response.write rs1.recordcount
IF Not rs1.EOF Then
Do Until rs1.EOF
%>
<tr>
<td>
<div style=display:none; id=Layer><img src="child.gif"><%=rs1("menu_name")%></div>
</td>
</tr>
<% rs1.MoveNext
Loop
End IF
IF rs1.State=1 Then rs1.Close
divNum=divNum+1
rs.MoveNext
Loop
end if%>
加入红字的代码再试。

2006-05-26 15:10
princes
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-24
得分:0 
谢谢yms123,现在的情况这样的,我的主菜单有两个,其中第一主菜单从数据库里来说有3个子菜单,第二个主菜单没有子菜单。现在通过修改后,点击第一个主菜单,第一主菜单展开,但是还是只有一个子菜单。点击第二个主菜单(没有子菜单),这时第一个主菜单出现两个子菜单,再点击的时候也就是主菜单应该关闭的时候,但是还是有一个子菜单出现,也就是不能实现关闭了。总是有一个子菜单出现。奇怪。
2006-05-26 15:31
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
回复:(princes)谢谢yms123,现在的情况这样的,我的...
以下是引用princes在2006-5-26 15:31:00的发言:
谢谢yms123,现在的情况这样的,我的主菜单有两个,其中第一主菜单从数据库里来说有3个子菜单,第二个主菜单没有子菜单。现在通过修改后,点击第一个主菜单,第一主菜单展开,但是还是只有一个子菜单。点击第二个主菜单(没有子菜单),这时第一个主菜单出现两个子菜单,再点击的时候也就是主菜单应该关闭的时候,但是还是有一个子菜单出现,也就是不能实现关闭了。总是有一个子菜单出现。奇怪。

把网页执行后的原代码(也就是浏览器里,查看源文件的原代码)贴出来看看。

2006-05-26 15:38
princes
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-24
得分:0 

yms123:
你好!
怎么在浏览器里面看的源代码,无论是页面出现一个子菜单还是两个子菜单,里面显示的怎么都是三个子菜单?


<html>
<head>
<title>无标题文档</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<script language=javascript>
function ShowLayer(index)
{
if(this.Layer(index).style.display=="none")
{
this.Layer(index).style.display="block";
}
else
{
this.Layer(index).style.display="none";
}
}
</script>
</head>
<table border="1" style="border-collapse: collapse" width="60%" id="table1">

<tr>
<td><a href=# onclick=ShowLayer(0);>用户管理菜单一</a></td>
</tr>
23
<tr>
<td>
<div style=display:none; id=Layer><img src="child.gif">货币汇率设置</div>
</td>
</tr>

<tr>
<td>
<div style=display:none; id=Layer><img src="child.gif">票据类型设置</div>
</td>
</tr>

<tr>
<td>
<div style=display:none; id=Layer><img src="child.gif">上传图片文件</div>
</td>
</tr>

<tr>
<td><a href=# onclick=ShowLayer(1);>查看单据资料菜单一</a></td>
</tr>
60


</table>
</html>

2006-05-26 16:16
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
<%
Dim divNum
divNum=0

if not rs.eof then
rs.movefirst
Do Until rs.EOF
strSonMenu = rs("menu_id")
%>
<tr>
<td><a href=# onclick=ShowLayer(<%=divNum%>);><%=rs("menu_name")%>菜单一</a></td>
</tr>
<%
response.write strSonMenu
if rs1.state=1 then rs1.close
rs1.Open "select * From menu_info Where Parent_id='" & strSonMenu & "'",cn,1,1
response.write rs1.recordcount
response.write "<tr>"
response.write " <td>"
response.write " <div style=display:none; id=Layer>"
IF Not rs1.EOF Then
Do Until rs1.EOF
%>
<img src="child.gif"><%=rs1("menu_name")%>
<%
rs1.MoveNext
Loop
end if
response.Write " </div>"
response.Write " </td>"
response.Write " </tr>
IF rs1.State=1 Then rs1.Close
divNum=divNum+1
rs.MoveNext
Loop
end if%>
循环改成这样,试试。
2006-05-26 22:29
princes
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-24
得分:0 

这样就可以了,而且不要那个红色部分的循环<td><a href=# onclick=ShowLayer(0);也行。不过这样就没有那样看起来方便,哈哈!什么问题呢?

2006-05-26 23:20
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
以下是引用princes在2006-5-26 23:20:00的发言:

这样就可以了,而且不要那个红色部分的循环<td><a href=# onclick=ShowLayer(0);也行。不过这样就没有那样看起来方便,哈哈!什么问题呢?

那样循环子菜单都循环写到一起了所以错误。

2006-05-26 23:22
princes
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-24
得分:0 

那其实也是和从数据库里面拿取数据是一样的啊?更何况在浏览器里面的源代码也是正确的,改后的代码也同样是循环,只不过改成由代码来打印出来的方式。所以还是有些费解。不知道你有没有不用代码输出的方式能够解决(就想我们12楼的那种方式)谢谢!

[此贴子已经被作者于2006-5-27 6:41:43编辑过]

2006-05-27 00:49
princes
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-24
得分:0 
yms123:
你好!
你是不是在补觉啊!昨天晚上你回答好快,本来我也还要想你请教的,结果这个网上不了了。能否不用response.write的方式,解决我请教的那个二级菜单的子菜单不能正常显示的问题啊。
2006-05-27 16:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-67056-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.104500 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved