CREATE TABLE [pp_Sort] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[upperid] [int] NULL CONSTRAINT [DF_pp_Sort_upperid] DEFAULT (0),
[depth] [int] NULL CONSTRAINT [DF_pp_Sort_depth] DEFAULT (0),
) ON [PRIMARY]
GO
<!--#include file="inc/conn.asp"-->
<%Set conn = con()%>
<%
dim b
b=1
Response.Write("<script>"&vbcrlf&"var mary=new Array();"&vbcrlf&"var loopary=new Array();"&vbcrlf)
dim sqlc,tempstr
tempstr=""
sqlc="select upperid,count(upperid) as nums from pp_sort group by upperid"
set rscount=conn.execute(sqlc)
do while not rscount.eof
tempstr=tempstr&rscount("upperid")&","
Response.Write(vbcrlf&"loopary["&rscount("upperid")&"]="&rscount("nums")&";")
Response.Write(vbcrlf&"mary["&rscount("upperid")&"]=new Array();")
rscount.movenext
loop
Response.Write("var uppers="""&left(tempstr,len(tempstr)-1)&""";"&vbcrlf)
rscount.close
dim RsSort
set RsSort=server.createobject("adodb.recordset")
sql="select * from pp_sort order by id asc"
RsSort.open sql,conn,3,1
do while Not RsSort.Eof
Response.Write("mary["&rssort("upperid")&"]["&b&"]="""&rssort("name")&""";"&vbcrlf)
b=b+1
RsSort.MoveNext
loop
RsSort.Close
Set RsSort = Nothing
dim sqlmaxdepth
sqlmaxdepth="select max(depth) as dpt from pp_sort "
set rsmaxdepth=conn.execute(sqlmaxdepth)
if not rsmaxdepth.eof then
maxdepth=rsmaxdepth("dpt")
else
maxdepth=0
end if
rsmaxdepth.close
Response.Write("</script>")
Response.Write("<select id=""mainsel"" onChange=""dosel(this.options[this.selectedIndex].value,this.nextSibling);dodisplay(1);setmainval(this.options[this.selectedIndex].value)"" style=""display:none""><option>--请选择--</option></select>")
for j=1 to maxdepth-1
Response.Write("<select id=""mainsel"" onChange=""dosel(this.options[this.selectedIndex].value,this.nextSibling);dodisplay("&j+1&");setmainval(this.options[this.selectedIndex].value)"" style=""display:none""><option>--请选择--</option></select>")
next
Response.Write("<select id=""mainsel"" onChange=""setmainval(this.options[this.selectedIndex].value);"" style=""display:none""><option selected>--请选择--</option></select>")
%>
<script language="javascript">
var checkary
checkary=uppers.split(",")
function dodisplay(id)
{
for(var k=0;k<document.all.mainsel.length;k++)
{
document.all.mainsel[k].style.display="none"
}
for(var k=0;k<id+1;k++)
{
if(document.all.mainsel[k].length>1)
{
document.all.mainsel[k].style.display="block"
}
}
for(var k=id+1;k<document.all.mainsel.length;k++)
{
document.all.mainsel[k].length=1
}
}
function docheckisshow(b,tobj)
{
var bl=false
for(var k=0;k<checkary.length;k++)
{
if(checkary[k]==b)
{
bl=true
break;
}
else
{
bl=false
}
}
if(bl)
{
tobj.nextSibling.style.display="block"
}
}
function dosel(id,tobj)
{
var b=id
var bl=false
for(var k=0;k<checkary.length;k++)
{
if(checkary[k]==b)
{
bl=true
break;
}
else
{
bl=false
}
}
if(bl)
{
tobj.options.length=1
for(var j=0;j<mary[b].length;j++)
{
if(mary[b][j]!=""&&mary[b][j]!=null)
{
tobj.options[tobj.length] = new Option(mary[b][j],j)
}
}
}
else
{
tobj.options[0]=new Option("--请选择--","")
}
}
document.all.mainsel[0].style.display="block"
for(var j=0;j<mary[0].length;j++)
{
if(mary[0][j]!=""&&mary[0][j]!=null)
{
document.all.mainsel[0].options[document.all.mainsel[0].length] = new Option(mary[0][j],j)
}
}
function setmainval(id)
{
document.all.sortid.value=id
}
function docheckthis(val)
{
for(var k=0;k<checkary.length;k++)
{
if(checkary[k]==val)
{
alert("error select")
return false
break;
}
else
{
return true
}
}
}
</script>
<input type="hidden" name="sort" id="sort">