有一页填表的页面,其中有几个下拉表单是通过一个表的某个字段动态生成,比如省下面的城市名,希望选择某一个
省即可自动在另一下拉表单内生成城市名,.....然后提交给asp处理加入到另外一个表内。
终于完成了,代码如下,可能比较乱,不过还是很有效的,不用刷新页面。
大家不妨一试~~~~~~~~
1<form method="POST" name="f1">
OpenDB objConn, "xxxx"
Set RSClass = objConn.Execute("SELECT * FROM class Order by fldClass")
If RSClass.EOF Then
Response.Write "没有记录。<br/>"
Else
Response.Write "<select "="" &="" 9pt""="" ="" class""="" classselected(this);""="" font-size:="" name="" onchange="" size='10"' style="">"
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 "="" &="" fldid")="" value=" & RSClass(">" & 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 9pt""="" font-size:="" name="" size="10" sort""="" style="">"
Response.Write "<option>[请选择]</option>"
Response.Write "</select>"
sJavaScript = sJavaScript & vbCrlf & "}" & vbCrlf & "}" & vbCrlf
Response.Write "<scr" "ipt="" &="" javascript""="" language="">" & vbCrlf
Response.Write sJavaScript & vbCrlf & "</scr">" & vbCrlf
End If
RSClass.Close
Set RSClass = Nothing
1</form>