/*
Triple Combo Script Credit
By Hamid Cheheltani/ Website Abstraction (http://www.wsabstract.com)
Visit <A HREF="http://wsabstract.com" TARGET=_blank>http://wsabstract.com</A> for this and over 400+ other scripts
*/
var groups=document.isc.example.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
redirect1(0)
}
var secondGroups=document.isc.stage2.options.length
var secondGroup=new Array(groups)
for (i=0; i<groups; i++) {
secondGroup[i]=new Array(group[i].length)
for (j=0; j<group[i].length; j++) {
secondGroup[i][j]=new Array() }}
secondGroup[0][0][0]=new Option("---Select 3---"," ");
secondGroup[1][0][0]=new Option("---Select 3---"," ");
secondGroup[1][1][0]=new Option("Now Select This One"," ");
secondGroup[1][1][1]=new Option("Website Abstraction","http://wsabstract.com");
secondGroup[1][1][2]=new Option("JavaScript for the non programmer","http://webteacher.com/javascript/");
secondGroup[1][1][3]=new Option("Java-Scripts.net","http://java-scripts.net");
secondGroup[1][2][0]=new Option("Now Select This One"," ");
secondGroup[1][2][1]=new Option("Dynamic Drive","http://www.dynamicdrive.com");
secondGroup[1][2][2]=new Option("Beginner\'s Guide to DHTML","http://www.geocities.com/ResearchTriangle/Facility/4490/");
secondGroup[1][2][3]=new Option("Web Coder","http://webcoder.com/");
secondGroup[1][3][0]=new Option("Now Select This One"," ");
secondGroup[1][3][1]=new Option("CGI Resources","http://www.cgi-resources.com");
secondGroup[1][3][2]=new Option("Ada\'s Intro to CGI","http://adashimar.hypermart.net/");
secondGroup[2][2][0]=new Option("Now Select A Page"," ");
secondGroup[2][2][1]=new Option("News.com","http://www.news.com");
secondGroup[2][2][2]=new Option("Wired","http://www.wired.com");
var temp1=document.isc.stage3
function redirect1(y){
for (m=temp1.options.length-1;m>0;m--)
temp1.options[m]=null
for (i=0;i<secondGroup[document.isc.example.options.selectedIndex][y].length;i++){
temp1.options[i]=new Option(secondGroup[document.isc.example.options.selectedIndex][y][i].text,secondGroup[document.isc.example.options.selectedIndex][y][i].value)
}
temp1.options[0].selected=true
}
function redirect2(z){
window.location=temp1[z].value
}
我是用asp从数据库中读取记录,动态生成一个JS数组,然后在页面跳转之前调用时就相当于是调用静态js,感觉速度还行。
-----------------------------------
生成JS列表的asp页面 CreateCity.asp
-----------------------------------
<!-- #include file="conn.asp" -->
<%
sql = "select * from Area_List Where Levels = 0"
Set rsList = Server.CreateObject("Adodb.RecordSet")
rsList.Open sql,conn,3
Response.Write "tCitys = new Array; "&chr(13)
Response.Write "var ProvinceArray = new Array;"&chr(13)
Response.Write "ProvinceArray[0]="&chr(34)&"省份"&chr(34)&chr(13)
For i = 1 to rsList.RecordCount
Response.Write "ProvinceArray["&i&"]="&chr(34)&rsList("cat_name")&chr(34)&";"&chr(13)
sql = "select * from Area_List Where Levels = 1 and parentid = "&rsList("ID")
set rsChild = Server.CreateObject("Adodb.RecordSet")
rsChild.Open sql,conn,3
Response.Write "tCitys["&i&"] = new Array();"&chr(13)
For j = 0 to rsChild.RecordCount - 1
Response.Write "tCitys["&i&"]["&j&"]="&chr(34)&rsChild("cat_name")&chr(34)&";"&chr(13)
rsChild.MoveNext
If rsChild.EOF or rsChild.BOF Then
Exit For
End If
Next
rsList.MoveNext
If rsList.EOF or rsList.BOF Then
Exit For
End If
Next
%>