當前位置:編程學習大全網 - 源碼下載 - ASP+JS三級聯動時選擇壹級後二級沒有聯動反應

ASP+JS三級聯動時選擇壹級後二級沒有聯動反應

<SCRIPT LANGUAGE="JavaScript">

<!--

function CreateSelect(_FormName,_SName,_SValue,_Ds,_AllOptionStr,ShowType)

{

//三級關鏈菜單通用版

//作者:海娃, 有問題請到http://www.51windows.Net留言。

if (_FormName=="")

_FormName = "all"

var _DsArr = _Ds.split("|")

var _Ds1,_Ds2,_Ds3

var _Ds1 = _DsArr[0]

var _Ds2 = (_DsArr.length>1)?_DsArr[1]:_DsArr[0]

var _Ds3 = (_DsArr.length>2)?_DsArr[2]:_DsArr[0]

var _SNameArr = _SName.split("|")

var _SName1,_SName2,_SName3

var _SName1 = _SNameArr[0]

var _SName2 = (_SNameArr.length>1)?_SNameArr[1]:_SNameArr[0]

var _SName3 = (_SNameArr.length>2)?_SNameArr[2]:_SNameArr[0]

var _SValueArr = _SValue.split("|")

var _SValue1,_SValue2,_SValue3

var _SValue1 = _SValueArr[0]

var _SValue2 = (_SValueArr.length>1)?_SValueArr[1]:_SValueArr[0]

var _SValue3 = (_SValueArr.length>2)?_SValueArr[2]:_SValueArr[0]

if (ShowType==3){

_AllOptionStr = _AllOptionStr.replace(/\(\(/ig,"\(\("+_Ds3+"\^")

_AllOptionStr = _AllOptionStr.replace(/\{\{/ig,"\{\{"+_Ds2+"\(\("+_Ds3+"\*\*")

}

else if(ShowType==2){

_AllOptionStr = _AllOptionStr.replace(/\{\{/ig,"\{\{"+_Ds2+"\(\("+_Ds3+"\*\*")

}

else if(ShowType==1){

_AllOptionStr = _AllOptionStr.replace(/\(\(/ig,"\(\("+_Ds3+"\^")

}

var AllStr = _Ds1 + "{{"+ _Ds2 + "(("+ _Ds3 +"||"+_AllOptionStr

//alert(AllStr)

var _AR0 = AllStr.split("||");

document.writeln("<select name=\"" + _SName1 + "\" size=\"1\" onChange=\""+_SName1+"redirect(this.options.selectedIndex)\">");

for (var i1 = 0;i1 < _AR0.length;i1++)

{

var Area1Str = _AR0[i1];

var _AR10 = Area1Str.split("{{");

var _AR11 = _AR10[0].split("@");

var Tstr1 = _AR11[0];

var Vstr1 = (_AR11.length==2)?_AR11[1]:_AR11[0]

document.writeln("<option value=\""+Vstr1+"\">"+Tstr1+"<\/option>");

}

document.writeln("<\/select>");

document.writeln("<select name=\"" + _SName2 + "\" size=\"1\" onChange=\""+_SName1+"redirect1(this.options.selectedIndex)\">");

var _AR111 = _Ds2.split("@");

var Tstr11 = _AR111[0];

var Vstr11 = (_AR111.length==2)?_AR111[1]:_AR111[0];

document.writeln("<option value=\""+Vstr11+"\">"+Tstr11+"<\/option>");

document.writeln("<\/select>");

document.writeln("<select name=\"" + _SName3 + "\" size=\"1\">");

var _AR222 = _Ds3.split("@");

var Tstr22 = _AR222[0];

var Vstr22 = (_AR222.length==2)?_AR222[1]:_AR222[0];

document.writeln("<option value=\""+Vstr22+"\">"+Tstr22+"<\/option>");

document.writeln("<\/select>");

document.writeln("<S"+"CRIPT LANGUAGE=\"JavaScript\" defer>");

document.writeln("<!--");

document.writeln("var "+_SName1+"NewAllStr = \""+ AllStr +"\"");

document.writeln("var "+_SName1+"_AR0 = "+_SName1+"NewAllStr.split(\"||\");");

document.writeln("var "+_SName1+"groups=document."+ _FormName +"." + _SName1 + ".options.length;");

document.writeln("var "+_SName1+"group=new Array("+_SName1+"groups)");

document.writeln("for (i=0; i<"+_SName1+"groups; i++){");

document.writeln(" "+_SName1+"group[i]=new Array();");

document.writeln("}");

document.writeln("for (var i1 = 0;i1 < "+_SName1+"_AR0.length;i1++){");

document.writeln(" var Area1Str = "+_SName1+"_AR0[i1];");

document.writeln(" var _AR10 = Area1Str.split(\"{{\");");

document.writeln(" var _AR12 = _AR10[1].split(\"**\");");

document.writeln(" for (var i2 = 0;i2 < _AR12.length;i2++){");

document.writeln(" var Area2Str = _AR12[i2];");

document.writeln(" var _AR20 = Area2Str.split(\"((\");");

document.writeln(" var _AR211 = _AR20[0].split(\"@\");");

document.writeln(" var Tstr2 = _AR211[0];");

document.writeln(" var Vstr2 = (_AR211.length==2)?_AR211[1]:_AR211[0];");

document.writeln(" "+_SName1+"group[i1][i2]=new Option(Tstr2,Vstr2);");

document.writeln(" }");

document.writeln("}");

document.writeln("var "+_SName1+"temp = document."+ _FormName +"." + _SName2);

document.writeln("function "+_SName1+"redirect(x){");

document.writeln(" for (m="+_SName1+"temp.options.length-1;m>0;m--)");

document.writeln(" "+_SName1+"temp.options[m]=null;");

document.writeln(" for (i=0;i<"+_SName1+"group[x].length;i++){");

document.writeln(" "+_SName1+"temp.options[i]=new Option("+_SName1+"group[x][i].text,"+_SName1+"group[x][i].value);");

document.writeln(" }");

document.writeln(" "+_SName1+"temp.options[0].selected=true");

document.writeln(" "+_SName1+"redirect1(0)");

document.writeln("}");

document.writeln("var "+_SName1+"Group2s=document."+ _FormName +"." + _SName2 + ".options.length;");

document.writeln("var "+_SName1+"Group2=new Array("+_SName1+"groups);");

document.writeln("for (i=0; i<"+_SName1+"groups; i++){");

document.writeln(" "+_SName1+"Group2[i]=new Array("+_SName1+"group[i].length)");

document.writeln(" for (j=0; j<"+_SName1+"group[i].length; j++){");

document.writeln(" "+_SName1+"Group2[i][j]=new Array()");

document.writeln(" }");

document.writeln("}");

document.writeln("for (var i1 = 0;i1 < "+_SName1+"_AR0.length;i1++){");

document.writeln(" var Area1Str = "+_SName1+"_AR0[i1]");

document.writeln(" var _AR10 = Area1Str.split(\"{{\");");

document.writeln(" var _AR12 = _AR10[1].split(\"**\");");

document.writeln(" for (var i2 = 0;i2 < _AR12.length;i2++){");

document.writeln(" var Area2Str = _AR12[i2]");

document.writeln(" var _AR20 = Area2Str.split(\"((\");");

document.writeln(" _AR212 = _AR20[1].split(\"^\");");

document.writeln(" for (var i3 = 0;i3 < _AR212.length;i3++){");

document.writeln(" Area3Str = _AR212[i3]");

document.writeln(" _AR3 = Area3Str.split(\"@\");");

document.writeln(" Tstr3 = _AR3[0]");

document.writeln(" Vstr3 = (_AR3.length==2)?_AR3[1]:_AR3[0]");

document.writeln(" "+_SName1+"Group2[i1][i2][i3]=new Option(Tstr3,Vstr3);");

document.writeln(" }");

document.writeln(" }");

document.writeln("}");

document.writeln("var "+_SName1+"temp1=document."+ _FormName +"." + _SName3 + "");

document.writeln("function "+_SName1+"redirect1(y){");

document.writeln(" for (m="+_SName1+"temp1.options.length-1;m>0;m--)");

document.writeln(" "+_SName1+"temp1.options[m]=null");

document.writeln(" for (i=0;i<"+_SName1+"Group2[document."+ _FormName +"." + _SName1 + ".options.selectedIndex][y].length;i++){");

document.writeln(" "+_SName1+"temp1.options[i]=new Option("+_SName1+"Group2[document."+ _FormName +"." + _SName1 + ".options.selectedIndex][y][i].text," + _SName1 + "Group2[document."+ _FormName +"." + _SName1 + ".options.selectedIndex][y][i].value)");

document.writeln(" }");

document.writeln(" "+_SName1+"temp1.options[0].selected=true");

document.writeln("}");

document.writeln("\/\/-->");

document.writeln("<\/script>");

document.writeln("<s"+"cript language=\"JavaScript\">");

document.writeln("<!--");

document.writeln("function "+_SName1+"SetValue(){");

document.writeln(" try{");

document.writeln(" if (\""+_SValue1+"\"!=\"\"){");

document.writeln(" document."+ _FormName +"."+_SName1+".value=\""+_SValue1+"\"");

document.writeln(" "+_SName1+"redirect(document."+ _FormName +"."+_SName1+".options.selectedIndex);");

document.writeln(" if (\""+_SValue2+"\"!=\"\"){");

document.writeln(" document."+ _FormName +"."+_SName2+".value=\""+_SValue2+"\"");

document.writeln(" "+_SName1+"redirect1(document."+ _FormName +"."+_SName2+".options.selectedIndex)");

document.writeln(" if (\""+_SValue3+"\"!=\"\")");

document.writeln(" document."+ _FormName +"."+_SName3+".value=\""+_SValue3+"\"");

document.writeln(" }");

document.writeln(" }");

document.writeln(" }");

document.writeln(" catch(e){");

document.writeln(" }");

document.writeln("}");

document.writeln("window.attachEvent(\"onload\","+_SName1+"SetValue)");

document.writeln("\/\/-->");

document.writeln("<\/script>");

}

//-->

</script>

<%

set conn=Server.CreateObject("ADODB.Connection")

dbpath=Server.MapPath("db1.mdb")

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=;Data Source=" & dbpath

dim SelectStr

SelectStr = ""

dim sql1,sql2,sql3

dim rs1,rs2,rs3

dim i1,i2,i3

'使用緩存,application("liststr"),將添加,編輯或刪除壹個數據時,用application("liststr") = empty清空緩存

application("liststr") = empty

if isempty(application("liststr")) then

'//壹級分類開始

sql1 = "select c1id,c1name from class1"

set rs1 = conn.execute(sql1)

i1 = 0

while not rs1.eof

if i1 > 0 then

SelectStr = SelectStr & "||"

end if

SelectStr = SelectStr & rs1("c1name") & "{{"

'顯示與值不同時,用下面壹行

'SelectStr = SelectStr & rs1("c1name") & "@"& rs1("c1id") &"{{"

'//二級分類開始

sql2 = "select c2id,c2name from class2 where c1name = '"& replace(rs1("c1name"),"'","''") &"'"

set rs2 = conn.execute(sql2)

i2 = 0

while not rs2.eof

if i2 > 0 then

SelectStr = SelectStr & "**"

end if

SelectStr = SelectStr & rs2("c2name") & "(("

'顯示與值不同時,用下面壹行

'SelectStr = SelectStr & rs2("c2name") & "@"& rs2("c2id") &"(("

'//三級分類開始

sql3 = "select c3id,c3name from class3 where c2name = '"& replace(rs2("c2name"),"'","''") &"'"

set rs3 = conn.execute(sql3)

i3 = 0

while not rs3.eof

if i3 > 0 then

SelectStr = SelectStr & "^"

end if

SelectStr = SelectStr & rs3("c3name")

'顯示與值不同時,用下面壹行

'SelectStr = SelectStr & rs3("c3name") & "@" & rs3("c3id")

i3 = i3 + 1

rs3.movenext

wend

rs3.close

set rs3 = nothing

'//三級分類結束

i2 = i2 + 1

rs2.movenext

wend

rs2.close

set rs2 = nothing

'//二級分類結束

i1 = i1 + 1

rs1.movenext

wend

rs1.close

set rs1 = nothing

application("liststr") = SelectStr

end if

'//壹級分類結束

%>

<SCRIPT LANGUAGE="JavaScript">

<!--

var AllStr1 = "<% = application("liststr") %>"

//-->

</SCRIPT>

<FORM name="HwForm">

<HR>選擇壹次<br>

<SCRIPT LANGUAGE="JavaScript">

CreateSelect("","S_13|S_23|S_33","","請選擇地區@|請選擇省份@|請選擇城市@",AllStr1,0);

</SCRIPT>

<HR>選擇三次<br>

<SCRIPT LANGUAGE="JavaScript">

CreateSelect("HwForm","S_1|S_2|S_3","華北地區|山東|濟寧","請選擇地區@|請選擇省份@|請選擇城市@",AllStr1,3);

</SCRIPT>

</FORM>

-------------------------------------------------------

<!--#include file="edu_inc/conn.asp"-->

<%

dim cid,coid

cid = request("cid") 'cid 大類id

coid = request("coid") 'coid 中類id

set rs=server.createobject("adodb.recordset")

sql = "select * from edu_c" '表壹 大類表

rs.open sql,conn,1,1

strOption1 = "<option value='' selected >==請選擇所屬市局==</option>"

do while not rs.eof

if cstr(rs("id")) = cstr(cid) then

strOption1 = strOption1 & "<option value='" & rs("id") & "' selected>" & rs("c_name") & "</option>"

else

strOption1 = strOption1 & "<option value='" & rs("id") & "'>" & rs("c_name") & "</option>"

end if

rs.movenext

&nbs

p; loop

rs.close

if cid <> "" then

sql = "select * from edu_co where c_id=" & cid '表二 中類表 bid==表壹中的id

rs.open sql,conn,1,1

strOption2 = "<option value='' selected >==請選擇所屬縣局==</option>"

do while not rs.eof

if cstr(rs("id")) = cstr(coid) then

strOption2 = strOption2 & "<option value='" & rs("id") & "' selected>" & rs("co_name") & "</option>"

else

strOption2 = strOption2 & "<option value='" & rs("id") & "'>" & rs("co_name") & "</option>"

&nbs

p; end if

rs.movenext

loop

rs.close

end if

if coid <> "" then

sql = "select * from edu_s where co_id= " & coid '表三 小類表 mid==表二的id

rs.open sql,conn,1,1

strOption3 = "<option value='' selected >==請選擇學校==</option>"

while not rs.eof

if cstr(rs("id")) = cstr(sid) then

strOption3 = strOption3 & "<option value='" & rs("id") & "' selected>" & rs("s_name") & "</option>"

else

strOption3 = strOption3 & "<option

value='" & rs("id") & "'>" & rs("s_name") & "</option>"

end if

rs.movenext

wend

rs.close

end if

%>

<select onchange="changeb(this.value)" name="cid"><%=strOption1%></select>

<select onchange="change(this.value)" name="coid"><%=strOption2%></select>

<select name="sid"><%=strOption3%></select>

<script language="javascript">

<!--

function changeb(cid){

location.assign("three.asp?action=s_s&cid=" + cid);

}

function change(coid){

location.assign("three.asp?action=s_s&cid=<%=cid%>&coid=" + coid);

}

-->

</script>

  • 上一篇:妳對離差率指標有什麽看法
  • 下一篇:在亞馬遜開店用什麽ERP系統?
  • copyright 2024編程學習大全網