asp中的form中,select下拉菜单,如何传递2个值?
发布网友
发布时间:2022-06-02 11:00
我来回答
共4个回答
热心网友
时间:2023-10-16 14:18
有两种解决方式:
1、修改option的值
<option value="<%=rs("prod_type")%>|<%=rs("prod_name")%>"><%=rs("prod_name")%></option>
这样的话,就可以接收到如下的数据 XXX|YYYY ,这时,楼主只要将接收的数据分割一下就行了 前面的就是你的prod_type,后面的是prod_name
2、既然你的prod_type 和 prod_name都是数据库里读出来了,那么你只传一个就够了,这样你的代码不用修改。只是接收数据以后,再做一次数据库查询,得到prod_name,然后保存就可以了。
建议使用第二种方式。
-----------------------------------------------------
PS:有空请帮我踩踩我的空间,谢谢。
热心网友
时间:2023-10-16 14:18
你的思路有问题,传递应该是一个主键值,再根据这个主键值从数据库里读取才对,比如你prod_type的主键是id,给你写过示范:
<%
if request.form("prod_type")<>"" then
id=request.form("prod_type")
sql1="select * from prod_type where id="&id'如果id是数字类型
'sql1="select * from prod_type where id='"&id&"'"'如果id是字符串类型
set rs1=server.CreateObject("adodb.recordset")
rs1.open sql1,conn,1,1
prod_type=rs1("prod_type")
prod_name=rs1("prod_name")
rs1.Close
set rs1=nothing
然后把 prod_type prod_name写入到你想要写入的表就可以了
end if
%>
<form name="form1" method="post" action="">
<%sql="select * from prod_type"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
%>
<select name="prod_type">
<option value="--请选择--">--请选择--</option>
<% For i=1 To rs.Pagesize
If rs.Eof Then Exit For
%>
<option value="<%=rs("id")%>"><%=rs("prod_name")%></option>
<%rs.movenext
next
%>
热心网友
时间:2023-10-16 14:19
你把两个值连接起来中间用特定符号分隔 放到value中
然后接收的时候再把他们分开就可以了。
或者就是加一个隐藏域然后用js了。
热心网友
时间:2023-10-16 14:19
下拉菜单 有单选的那种 还有一个是下拉列表 可以多选的..传值是数组形式,自己看看基础