怎样在网页中动态增加"下拉菜单"的选项(100分)

  • 主题发起人 主题发起人 XYong
  • 开始时间 开始时间
X

XYong

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样在网页用脚本语言中动态增加"下拉菜单<select name=select1><option></option></select>"的选项
 
这是用Asp做的,其中dict1是数据库字典表
<select size="1" name="select1">
<%
rs.open "dict1",conn
do while not rs.eof
%>
<option value=<%=rs.fields(0).value%>><%=rs.fields(1).value%></option>
<%
rs.movenext
loop
rs.close
%>
</select>
 
梅梅:
你这个我失败了,不知为什么?
 
这段程序是在Win2000+SQL Server环境下运行成功的,实在不行,你把源代码贴出来看看
我要下班了,明天再说[:)][:)]
 
也想知道
 
给你一个完整的例子吧:
<%
Set Conn=server.CreateObject("ADODB.Connection")
Conn.Open "数据源或连接字符串"
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.open "表名或SQL语句",Conn
Response.write "<select name='"&列表框名字&"'>"
While Not Rs.Eof
Response.write "<option value="&Rs("字段名")&">"&Rs("字段名")&"</option>"
Rs.MoveNext
Wend
Response.write "</select>"
Set Rs=nothing
Set Conn=nothing
%>
 
楼上的程序其实和我的是一样的,只是我忘了把Conn和Rs的定义贴出来罢了
 
我的库为Access2000.
呵呵,下拉菜单出来了。
Set Rs=nothing
Set Conn=nothing。 //这2句不懂。为什么为空,我以前从没有释放过。
有的网站左边的收缩菜单(名称好象错了)怎么实现的?

 
to Tense:
Set Rs=nothing
Set Conn=nothing
这两句不是必需的,如果在这段程序之后还要查询另一个表,可以改成
Rs.close
Rs.open 另一个表,conn
......
在整个程序结尾处释放内存是个好的编程习惯
 
你可以定义全局LIST;
你需要显示的菜单项和链接可以放在里面;
然后在接收到每一个HTTP请求重新显示一遍.
 
谢谢各位,我表达问题能力太差,我是在把数据库的数据做成了XML数据岛,数据已到客户端,
我想不向后台提交,而在网页上实现联动下拉菜单,请大家继续发言
 
to XYong:
给你完整的代码,自己研究吧。

<HTML><HEAD><TITLE>下拉菜单</TITLE>
<SCRIPT lanuage="Javascript">
var tt='start';
var ii='start';
function turnit(ss) {
if (ss.style.display=="none") {
if(tt!='start') tt.style.display="none";
ss.style.display="";
tt=ss;
}
else {
ss.style.display="none";
}
}
</SCRIPT>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="Microsoft FrontPage 4.0" name=GENERATOR></HEAD>

<BODY>
<TABLE>
<TR>
<TD language=JScript onclick=turnit(Content10002)
style="CURSOR: hand" vAlign=center><IMG
height=8 src="lftb.gif"
width=6> A</TD></TR>
<TR>
<TD id=Content10002 style="DISPLAY: none">
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD align=absmiddle vAlign=center>  a1</TD></TR>
<TR>
<TD align=absmiddle vAlign=center>  a2</TD></TR>
</TBODY></TABLE></TD></TR>
<TR>
<TD language=JScript onclick=turnit(Content10003)
style="CURSOR: hand" vAlign=center><IMG
height=8 src="lftb.gif"
width=6> B</TD></TR>
<TR>
<TD id=Content10003 style="DISPLAY: none">
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD align=absmiddle vAlign=center>  b1</TD></TR>
<TR>
<TD align=absmiddle vAlign=center>  b2</TD></TR>
</TBODY></TABLE></TD></TR>

</TABLE>


</BODY></HTML>
 
呵呵,java不懂,asp到还可以。
 
耐心一点,多做做实验,这段代码很简单,很容易懂的。
javascript不需要改,只要改改菜单内容,和子菜单的id就可以用了。
 
谢谢大家我已经解决了,其实是msdn对asp3.0方面讲得远远比asp.net少,其实它很简单
增加:selectobj.options[selectobj.length] = new Option('text','value');
清空:selectobj.length=0;

分我已给了大家,请查收
 
后退
顶部