日期:2014-05-16  浏览次数:20777 次

从前一个页面传值id过来后,用于选择框的问题
我在尝试做这个功能:
1,从类别列表里面点击“添加该父类的子类”,将父类ID(就是下面程序中的classid字段)传到目标页面(已经成功)。
2,现在要在目标页面做添加该父类的子类功能,但是父类ID也要能让用户自行选择,所以我做了个SELECT框,但要求其默认值是上页传过来的父类ID(classid字段)对应的父类名称(classname字段)。

于是我用了如下语句。问题出现:无论怎么点,这个SELECT框的默认值总是选为第一个,而没有按我的要求默认选我传值过来的那个。
                    注意:classid是整型类别。

<%
       classid = trim(request("classid"))
'数据库连接字段已经做好conn
%>
   <tr>
       <td width='25%'><p align='right'><b>· 父类名称</b></td>
       <td width='75%'><p align='left'>
       <select name="classid">
<%
set rs1=server.CreateObject("adodb.recordset")
rs1.open "Select * From class",conn,1,1                      'class为父类表
if rs1.bof and rs1.bof then
response.write "<option>父类尚无数据,请先添加</option>"
else
do while not rs1.eof
if rs1("classid")=classid then
response.write "<option value='"& rs1("classid") & "' selected>" & rs1("classname") & "</option>"
else
response.write "<option value='"& rs1("classid") & "'>" & rs1("classname") & "</option>"
end if
rs1.movenext
loop
end if
call rs1close()
%>
           </select></td>
   </tr>

------解决方案--------------------
建议楼主这么解决:

当classid有值传过来时,应该写死这个id,要不然,添加子类变成编辑子类了-----用户会手误不该动这个项目的变成动了这个项目。

至于编辑,需要用到这个功能时,则只能等高手解决
------解决方案--------------------
<%
       classid = trim(request("classid"))
'数据库连接字段已经做好conn
response.Write classid''''''''''输出内容看看对不对

%>
               <tr>
                   <td width='25%'><p align='right'><b>· 父类名称</b></td>
                   <td width='75%'><p align='left'>
                       <select name="classid">
<%               
    set rs1=server.CreateObject("adodb.recordset")
    rs1.open "Select * From class",conn,1,1                      'class为父类表
    if rs1.bof and rs1.bof then
        response.write "<option>父类尚无数据,请先添加</option>"
    else