在我的数据库中,我的值为0到24,下面的代码用这些值填充下拉列表:
<%
SQLstmt = "Select PriorTries from myTable"
set TrySet = conn.Execute(SQLstmt)
%>
<select name="Tries">
<option value=""> </option>
<%
Do Until TrySet.EOF
TryID = TrySet("Tries")
If TryID = Tries Then sel = "SELECTED" Else sel = ""
%>
<OPTION Value="<%=TryID%>" <%=sel%> > <%=TrySet("Tries")%>
<%
TrySet.MoveNext
Loop
%>
</select>
唯一的问题是0显示为默认值。
我想要空白,就像我在代码上将它作为默认值一样。
我做错了什么?
提前致谢
<SELECT name="Tries">
<option value="" selected="selected"> </option>
<OPTION Value="0" SELECTED > 0
<OPTION Value="1" > 1
<OPTION Value="2" > 2
<OPTION Value="3" > 3
<OPTION Value="4" > 4
<OPTION Value="5" > 5
<OPTION Value="6" > 6
<OPTION Value="7" > 7
<OPTION Value="8" > 8
<OPTION Value="9" > 9
<OPTION Value="10" > 10
<OPTION Value="11" > 11
<OPTION Value="12" > 12
<OPTION Value="13" > 13
<OPTION Value="14" > 14
<OPTION Value="15" > 15
<OPTION Value="16" > 16
<OPTION Value="17" > 17
<OPTION Value="18" > 18
<OPTION Value="19" > 19
<OPTION Value="20" > 20
<OPTION Value="21" > 21
<OPTION Value="22" > 22
<OPTION Value="23" > 23
<OPTION Value="24" > 24
</SELECT>
答案 0 :(得分:2)
尝试:
<option value="" selected="selected"> </option>
答案 1 :(得分:0)
我看不到Tries
的任何定义?
未定义的变量等于零(空)
因此,代码中的if条件返回True,而TrySet("Tries")
等于零(对于第一个记录)并打印SELECTED
。这很正常。
我感兴趣的是,您在查询中选择了PriorTries
列,但您尝试在循环中使用TrySet(“Tries
”)获取它。你认为这是正确的吗?
无论如何,
我想你需要尝试这样使用:
If CStr(TryID) = CStr(Tries) Then sel = "SELECTED" Else sel = ""
答案 2 :(得分:0)
将所选变量默认为-1。因为0是默认值,所以它被选中。我认为你不需要选择='选中'。它的选择就像您拥有的价值选择一样。我的猜测是你的记录集有一个计数,它返回零。也许在您的SQL脚本中,如果值为零,则返回-1或null。