从数据库中动态选取下拉列表的方法
发布时间:2006-10-14 2:39:13   收集提供:gaoqian

有一页填表的页面,其中有几个下拉表单是通过一个表的某个字段动态
生成,比如省下面的城市名,希望选择某一个省即可自动在另一下拉表
单内生成城市名,.....然后提交给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" & _
        " ONCHANGE=""classselected(this);"" >"
        sjavascript = "function classselected(elem){" &_
         vbCrlf & _
        "for (var i = document.f1.sort.options.length; i >= 0; i--){" & vbCrlf & _
        "document.f1.sort.options[i] = null;" & _
         vbCrlf
   Do Until RSClass.EOF
     If sLastClass <> RSClass("fldClass") Then
         sLastClass = RSClass("fldClass")
        Response.Write "<OPTION VALUE=" & RSClass("fldID") & ">" & sLastClass & "</OPTION>"
         sJavaScript = sJavaScript & "}" & vbCrlf & _
                "if (elem.options[elem.selectedIndex].value==" & _
                 RSClass("fldID") & "){" & vbCrlf
      End If
         sJavaScript = sJavaScript & _
                 "document.f1.sort.options[document." & _
                 "f1.sort.options.length] = new Option('" & _
                  RSClass("fldSort") & "','" & RSClass("fldID") & "');" & _
                  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 & vbCrlf & "}" & vbCrlf & "}" & vbCrlf
        Response.Write "<SCR" & "IPT LANGUAGE=""JavaScript"">" & vbCrlf
        Response.Write sJavaScript & vbCrlf & "</SCR" & "IPT>" & vbCrlf
End If
RSClass.Close
Set RSClass = Nothing%>
</form>

 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50