关于无限分级(ASP+数据库+JS)的实现代码 代码可以优化,请根据自己需求进行优化 说明: 所先把所有分类读取存放到JS数组中(如果数据量大可能就有点麻烦) 当选择时候返回父分类ID 在从数组中找出符合的分类,然后显示给用户 数据库设计(可以根据自己需求添加字段,如此分类属于什么分类等等) 字段 类型 说明 id 自动编号 记录编号 cotename 文本 分类名称 byid 数字 父分类ID(即为此表ID,根接点时值为0) JS部分代码(命名为*.asp) 复制代码 代码如下:<%Dim conn Set conn=Server.CreateObject("ADODB.Connection") conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Server.MapPath("Cote.mdb") conn.Open %> function CheckLm(thevalue){ var byid=new Array(); var cotename=new Array(); var id=new Array(); var i; var id_s; var byid_s; var cotename_s; var thevalue_r; var data='"; } <%Conn.Close:Set Conn=Nothing%> 调用页面代码复制代码 代码如下:<% Dim lm lm=request("lm") if lm=Empyt or Not Isnumeric(lm) then lm=0 %>
运行后结果 function CheckLm(thevalue){ var byid=new Array(); var cotename=new Array(); var id=new Array(); var i; var id_s; var byid_s; var cotename_s; var thevalue_r; var data='' id_s="|"; cotename_s='-选择-|'; id[0]=1; byid[0]=0; cotename[0]='大栏目1'; id[1]=7; byid[1]=0; cotename[1]='大栏目2'; id[2]=2; byid[2]=1; cotename[2]='├大栏目1-1'; id[3]=3; byid[3]=1; cotename[3]='├大栏目1-2'; id[4]=4; byid[4]=1; cotename[4]='├大栏目1-3'; id[5]=5; byid[5]=4; cotename[5]='├-大栏目1-3-a'; id[6]=6; byid[6]=4; cotename[6]='├-大栏目1-3-b'; id[7]=10; byid[7]=6; cotename[7]='├--大栏目1-3-b-1'; id[8]=11; byid[8]=6; cotename[8]='├--大栏目1-3-b-2'; id[9]=12; byid[9]=6; cotename[9]='├--大栏目1-3-b-3'; id[10]=8; byid[10]=7; cotename[10]='├大栏目2-1'; id[11]=9; byid[11]=7; cotename[11]='├大栏目2-2'; if(thevalue==null||thevalue==undefined||thevalue==''){thevalue=0;} //if(lmvalue==null||lmvalue==undefined||lmvalue==''){lmvalue=0;} for(k=0;k") call GetA(Rs("id")) rs.movenext i=i+1 loop end if rs.close set rs=nothing End Sub if m=empty then m=0 call GetA(m) %>