Dim sql,rs,cn,i
i = 0
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("MultiSelect.mdb")
If Request.QueryString("pid") = "" Then
'初始化部分
Set rs = cn.Execute("SELECT * FROM Area Where pid=0")
Response.Write "<script language = 'JavaScript'>" & vbCrLf
Response.Write "var arr1 = new Array()" & vbCrLf
Response.Write "var arr2 = new Array()" & vbCrLf
While Not rs.EOF
Response.Write "arr1[" & i & "] = '" & rs("id") & "'" & vbCrLf
Response.Write "arr2[" & i & "] = '" & rs("Name") & "'" & vbCrLf
i = i +1
rs.MoveNext
Wend
'为安全起见
Response.Write "window.onload = new function() {" & vbCrLf
Response.Write "select1 = document.mxh.s1" & vbCrLf
Response.Write "for(i = 1;i<arr1.length + 1;i++)" & vbCrLf
Response.Write "select1.options[i] = new Option(arr2[i-1],arr1[i-1])" & vbCrLf
Response.Write "}" & vbCrLf
Response.Write "</script>" & vbCrLf
Else
'处理数据的提交
strTreeId = Request.QueryString("pid")
If strTreeId = "" Then strTreeId = 0
If IsNumeric(strTreeId) = False Then strTreeId = 0
Response.Clear
Response.Write "<script language = 'JavaScript'>" & vbCrLf
Response.Write "select" & Request.QueryString("n") & " = window.parent.document.mxh.s" & Request.QueryString("n") & vbCrLf
Response.Write "select" & Request.QueryString("n") & ".innerHTML = ''" & vbCrLf
Response.Write "select" & Request.QueryString("n") & ".options[0] = new Option(""--请选择--"",""0"")" & vbCrLf
Set rs = cn.Execute("SELECT * FROM Area Where pid = " & Request.QueryString("pid"))
While Not rs.EOF
Response.Write "select" & Request.QueryString("n") & ".options[select" & Request.QueryString("n") & ".length] = new Option('" & Trim(rs("Name")) & "','" & rs("id") & "')" & vbCrLf
rs.MoveNext
Wend
Response.Write "</script>" & vbCrLf
End If
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
%>
<%set rs1=server.createobject("adodb.recordset")
sql1="select * from class1"
rs1.open sql1,conn,1,1
if rs1.eof then
topstr="没有分类"
else
%>
<script language = "javascript">
<!--
<%
topstr="<option>选择一级分类</option>"
do while not rs1.eof
topstr=topstr&"<option value='"&rs1("class1id")&"'>"&rs1("class1name")&"</option>"
%>
<%set rs2=server.createobject("adodb.recordset")
sql2="select * from class2 where class1id="&rs1("class1id")
rs2.open sql2,conn,1,1
if not rs2.eof then
%>
str<%=rs1("class1id")%>='<select name=class2id onChange="change3(document.myform.class2id.options[document.myform.class2id.selectedIndex].value);"><option>选择二级分类</option>';
<%
do while not rs2.eof
%>
str<%=rs1("class1id")%>=str<%=rs1("class1id")%>+'<option value="<%=rs2("class2id")%>"><%=rs2("class2name")%></option>';
<%set rs3=server.createobject("adodb.recordset")
sql3="select * from class3 where class2id="&rs2("class2id")
rs3.open sql3,conn,1,1
if not rs3.eof then
%>
sstr<%=rs2("class2id")%>='<select name=class3id>';
<%
do while not rs3.eof
%>
sstr<%=rs2("class2id")%>=sstr<%=rs2("class2id")%>+'<option value="<%=rs3("class3id")%>"><%=rs3("class3name")%></option>';
<%
rs3.movenext
loop
rs3.close%>
sstr<%=rs2("class2id")%>=sstr<%=rs2("class2id")%>+'</select>';
<%else%>
sstr<%=rs2("class2id")%>='没有分类';
<%end if %>
<%
rs2.movenext
loop
rs2.close%>
str<%=rs1("class1id")%>=str<%=rs1("class1id")%>+'</select>';
<%else%>
str<%=rs1("class1id")%>='没有分类';
<%end if %>
<%
rs1.movenext
loop
rs1.close
%>
function change2(locationid){
if(!locationid)
window.file.innerHTML="";
else
window.file.innerHTML=eval("str"+locationid);
window.file2.innerHTML="";
return false;}
function change3(locationid){
if(!locationid)
window.file2.innerHTML="";
else
window.file2.innerHTML=eval("sstr"+locationid);
return false;}
//-->
</script>
<%end if%>
<table><tr><td><select onChange="change2(document.myform.class1id.options[document.myform.class1id.selectedIndex].value);" name="class1id" id="class1id">
<%=topstr%>
</select></td><td><div id=file></div></td><td><div id=file2></div></td></tr></table>