注册 登录
编程论坛 ASP技术论坛

请教下拉列表问题

gyo 发布于 2012-02-28 21:54, 461 次点击
我要做一个下拉列表框name选择之后,文本框priz和enum可以显示该条记录相对应的值,提交表单后列表框name中的值成了<%=rs("prize")%>,<%=rs("num")%>,如何使列表框name的值变成本来选中的值呢,请各位高手帮忙看看,谢谢了。
代码如下
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<%
path="test.mdb"
set conn = Server.CreateObject("ADODB.Connection")
str ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(path)
conn.open str
%>
<body>
<form id="form1" name="form1" method="post" action="">
 name
 <select name="name1" onchange="changeItem(form1.name1.value);">
 <option selected="selected" value="">请选择</option>
 <%
sql="select * from test4"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
do while not rs.eof
%>
<option value="<%=rs("prize")%>,<%=rs("num")%>"><%=rs("name")%></option>
<%
rs.movenext
loop
%>
 </select>
 &nbsp;prize
 <input name="prize" type="text" size="10" />
&nbsp;num
<input name="num" type="text" size="10" />
</form>
<script language="javascript">
function changeItem(p_n)
{
n=p_n.indexOf(",");
form1.prize.value=p_n.substring(0,n);
form1.num.value=p_n.substring(n+1);
}
</script>
</body>
</html>
4 回复
#2
cnfarer2012-02-29 12:55
将这个 selected="selected" 加在原来的name选项上

这个<option value="<%=rs("prize")%>,<%=rs("num")%>"><%=rs("name")%></option>有问题吧?

[ 本帖最后由 cnfarer 于 2012-2-29 12:59 编辑 ]
#3
wangjy5002012-02-29 21:24
这个要用到JS
#4
yms1232012-03-01 11:22
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<%
path="test.mdb"
set conn = Server.CreateObject("ADODB.Connection")
str ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(path)
conn.open str
%>
<body>
<form id="form1" name="form1" method="post" action="">
name
<select name="name1" onchange="changeItem(form1.name1.options[form1.name1.selectedIndex].value);">
<option selected="selected" value="">请选择</option>
<%
 sql="select * from test4"
 set rs=server.CreateObject("adodb.recordset")
 rs.open sql,conn,1,1
 do while not rs.eof
    if Instr(Request("prize"),CStr(rs("prize")))=0 Then
       %><option value="<%=rs("prize")%>,<%=rs("num")%>"><%=rs("name")%></option><%
    else
       %><option selected value="<%=rs("prize")%>,<%=rs("num")%>"><%=rs("name")%></option><%
    end if
    rs.movenext
 loop
 %>
</select>
&nbsp;prize
<input name="prize" type="text" size="10" />
&nbsp;num
<input name="num" type="text" size="10" />
</form>
<script language="javascript">
function changeItem(p_n)
{
 n=p_n.indexOf(",");
 form1.prize.value=p_n.substring(0,n);
 form1.num.value=p_n.substring(n+1);
}
</script>
</body>
</html>
#5
gyo2012-03-02 12:18
谢谢各位版主
1