我正在尝试使用经典ASP / VBScript在<select>
上填充<option>
。这些值是从SQL Server数据库中读取和获取的,其代码类似于:
SET rows = dbc.execute(SQL)
IF NOT rows.EOF THEN
DO WHILE NOT rows.EOF
%>
<option value="<%=rows("specialty")%>"><%=rows("specialty")%></option>
<%
rows.moveNext
LOOP
ELSE
END IF
rows.close
SET rows = NOTHING
我遇到的问题是<%=rows("specialty")%>
只有一方似乎在评价。
<option value="<%=rows("specialty")%>"><%=rows("specialty")%></option>
我得到:
<option value="fromRow1"></option>
<option value="fromRow2"></option>
<option value="fromRow3"></option>
<option value="test"><%=rows("specialty")%></option>
我得到:
<option value="test">fromRow1</option>
<option value="test">fromRow2</option>
<option value="test">fromRow3</option>
应该怎样做才能缓解这个问题?
答案 0 :(得分:4)
试试这个:
Dim a
Do while not rows.Eof
a = rows.Collect("specialty")
Response.Write("<option value=""" & Replace(a, """", """) & """>" & a & "</option>")
rows.MoveNext
Loop
答案 1 :(得分:1)
specialty
的数据类型是什么?
试试这个:
DO WHILE NOT rows.EOF
specialty = rows("specialty")
%>
<option value="<%=specialty%>"><%=specialty%></option>
<%
rows.moveNext
LOOP
答案 2 :(得分:0)
试试这个:
<option value='<%=rows("specialty")%>'><%=rows("specialty")%></option>
它可能会与双打引号混淆。但自从我在Classic ASP工作以来已经有一段时间了。