asp 的select简单问题
<selectname="cid"id="cid"><%setrsf=server.CreateObject("adodb.recordset")rsf.Open"sel...
<select name="cid" id="cid">
<%
set rsf=server.CreateObject("adodb.recordset")
rsf.Open "select * from board where classid=3 order by id desc ",connkillsql,1,1
bid=request.QueryString("bid")
%>
<% do while not rsf.eof%>
<option value="<%=rsf("boardid")%>" <% if rsf("boardid")=bid then%>selected="selected" <%end if%>><%=rsf("boardname")%></option>
<%
rsf.movenext
loop
rsf.close
%>
</select>
这句<% if rsf("boardid")=bid then%>selected="selected" <%end if%>
为何这里if rsf("boardid")=bid 取不到bid的值呢?没错啊
bid=request.QueryString("bid")当然是传过来的,这个就是接收啊
```````````````````
我如果改成<option value="<%=rsf("boardid")%>" <%=bid%>><%=rsf("boardname")%></option>
以下就是输出的,说明bid是正常的有值啊
<select name="cid" id="cid">
<option value="13" 6>电子楼书</option>
<option value="12" 6>视频展播</option>
·
·
</select> 展开
<%
set rsf=server.CreateObject("adodb.recordset")
rsf.Open "select * from board where classid=3 order by id desc ",connkillsql,1,1
bid=request.QueryString("bid")
%>
<% do while not rsf.eof%>
<option value="<%=rsf("boardid")%>" <% if rsf("boardid")=bid then%>selected="selected" <%end if%>><%=rsf("boardname")%></option>
<%
rsf.movenext
loop
rsf.close
%>
</select>
这句<% if rsf("boardid")=bid then%>selected="selected" <%end if%>
为何这里if rsf("boardid")=bid 取不到bid的值呢?没错啊
bid=request.QueryString("bid")当然是传过来的,这个就是接收啊
```````````````````
我如果改成<option value="<%=rsf("boardid")%>" <%=bid%>><%=rsf("boardname")%></option>
以下就是输出的,说明bid是正常的有值啊
<select name="cid" id="cid">
<option value="13" 6>电子楼书</option>
<option value="12" 6>视频展播</option>
·
·
</select> 展开
4个回答
展开全部
分别把rsf("boardid") 和 bid 打印出来,如果bid为空的话,说明你上一个页面没有把这个参数传递过来.
你现在是用request.QueryString方式接收参数,因此上一个页面传递过来的bid务必以GET方式提交,如果是放到FROM里的是获取不到的.
另外在比较的时候我建议你换成
<% if trim(rsf("boardid"))=trim(bid) then%>selected="selected"<%end if%>
避免因为看不到的空格耽误宝贵的时间.呵呵.
===
既然两个值都获取到了,那就是对比的问题了.建议你换成我上面的方法进行对比,看的出是你想将SELECT里面的某一个OPTION设置成选中状态.那就要确定你取出来的值是否有和OPTION相同的啦.
你现在是用request.QueryString方式接收参数,因此上一个页面传递过来的bid务必以GET方式提交,如果是放到FROM里的是获取不到的.
另外在比较的时候我建议你换成
<% if trim(rsf("boardid"))=trim(bid) then%>selected="selected"<%end if%>
避免因为看不到的空格耽误宝贵的时间.呵呵.
===
既然两个值都获取到了,那就是对比的问题了.建议你换成我上面的方法进行对比,看的出是你想将SELECT里面的某一个OPTION设置成选中状态.那就要确定你取出来的值是否有和OPTION相同的啦.
展开全部
你的bid是通过ASP的地址参数传过来的吗?不能确定的话把
bid=request.QueryString("bid")
改成
bid=request("bid")
试试。
bid=request.QueryString("bid")
改成
bid=request("bid")
试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数值型的吧?
改成这样
if cint(rsf("boardid"))=cint(bid)
改成这样
if cint(rsf("boardid"))=cint(bid)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
bid 是不是变量
如果不是要双引号 rsf("boardid")="bid"
如果不是要双引号 rsf("boardid")="bid"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询