从数据库中动态选取下拉列表的方法
有一页填表的页面,其中有几个下拉表单是通过一个表的某个字段动态生成,比如省下面的城市名,希望选择某一个
省即可自动在另一下拉表单内生成城市名,.....然后提交给asp处理加入到另外一个表内。
终于完成了,代码如下,可能比较乱,不过还是很有效的,不用刷新页面。
大家不妨一试""""""""
<form name=f1 METHOD="POST">
<%
OpenDB objConn, "xxxx"
Set RSClass = objConn.Execute("SELECT * FROM class Order by fldClass")
If RSClass.EOF Then
Response.Write "没有记录。<BR>"
Else
Response.Write "<SELECT NAME=""class"" style=""FONT-SIZE: 9pt"" SIZE=10" &;amp; _
" ONCHANGE=""classselected(this);"" >"
sJavaScript = "function classselected(elem){" &;amp;_
vbCrlf &;amp; _
"for (var i = document.f1.sort.options.length; i >= 0; i--){" &;amp; vbCrlf &;amp; _
"document.f1.sort.options = null;" &;amp; _
vbCrlf
Do Until RSClass.EOF
If sLastClass <> RSClass("fldClass") Then
sLastClass = RSClass("fldClass")
Response.Write "<OPTION VALUE=" &;amp; RSClass("fldID") &;amp; ">" &;amp; sLastClass &;amp; "</OPTION>"
sJavaScript = sJavaScript &;amp; "}" &;amp; vbCrlf &;amp; _
"if (elem.options[elem.selectedIndex].value==" &;amp; _
RSClass("fldID") &;amp; "){" &;amp; vbCrlf
End If
sJavaScript = sJavaScript &;amp; _
"document.f1.sort.options[document." &;amp; _
"f1.sort.options.length] = new Option('" &;amp; _
RSClass("fldSort") &;amp; "','" &;amp; RSClass("fldID") &;amp; "');" &;amp; _
vbCrlf
RSClass.MoveNext
Loop
Response.Write "</SELECT>"
Response.Write "<SELECT NAME=""sort"" style=""FONT-SIZE: 9pt"" SIZE=10>"
Response.Write "<OPTION>[请选择]</OPTION>"
Response.Write "</SELECT>"
sJavaScript = sJavaScript &;amp; vbCrlf &;amp; "}" &;amp; vbCrlf &;amp; "}" &;amp; vbCrlf
Response.Write "<SCR" &;amp; "IPT LANGUAGE=""JavaScript"">" &;amp; vbCrlf
Response.Write sJavaScript &;amp; vbCrlf &;amp; "</SCR" &;amp; "IPT>" &;amp; vbCrlf
End If
RSClass.Close
Set RSClass = Nothing%>
</form>