加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

相关无限分级 ASP+数据库+JS 的实现代码

发布时间:2023-06-03 12:39:30 所属栏目:Asp教程 来源:
导读:代码可以优化,请根据自己需求进行优化:说明:所先把所有分类读取存放到JS数组中(如果数据量大可能就有点麻烦)当选择时候返回父分类ID 在从数组中找出符合的分类,然后显示给用户数据库设计(可以根据自己需求添加字

代码可以优化,请根据自己需求进行优化:

说明:

所先把所有分类读取存放到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='<select name="lm" onchange="CheckLm(this.value)">'

  id_s="|";

  cotename_s='-选择-|';

  <%set rs=server.CreateObject("adodb.recordset")

     sql="select * from [DB_Cote] Order by byid,id"

    rs.open sql,conn,1,1

      i=0

   if not rs.eof then

     do while not rs.eof 

       response.Write("id["&i&"]="&rs("id")&";"&chr(10))

    response.Write("byid["&i&"]="&rs("byid")&";"&chr(10))

    response.Write("cotename["&i&"]='"&rs("cotename")&"';"&chr(10))

     rs.movenext

     i=i+1

     loop

   else

     response.Write("id[0]=0;byid[0]=0;cotename[0]='无分类';")

   end if

   rs.close

  set rs=nothing%>

  if(thevalue==null||thevalue==undefined||thevalue==''){thevalue=0;}

  //if(lmvalue==null||lmvalue==undefined||lmvalue==''){lmvalue=0;}

    for(k=0;k<id.length;k++){

      if(thevalue==id[k]){id_s+=thevalue+"|";cotename_s+=cotename[k]+"|";thevalue_r=byid[k];break;}else{thevalue_r=0;}

    }

   for(i=0;i<id.length;i++){

     if(thevalue==byid[i]){

    id_s+=id[i]+"|";cotename_s+=cotename[i]+"|";

    } 

   }

   if(id_s=='-1|'){

      for(i=0;i<id.length;i++){

     if(thevalue==id[i]){

  id_s+=id[i]+"|";cotename_s+=cotename[i]+"|";

  } 

   } 

    }

  id_v=id_s.split("|");

  cotename_v=cotename_s.split("|");

  var length=id_v.length-1;  

  for(j=0;j<length;j++){

    if(thevalue==id_v[j]){

    data+="<option value='"+id_v[j]+"' selected>"+cotename_v[j]+"</option>";}

    else{

    data+="<option value='"+id_v[j]+"'>"+cotename_v[j]+"</option>";

    }

   }

  if(thevalue!=0){data+="<option value='"+thevalue_r+"'>上级分类</option>";}

 //alert(length+'/'+thevalue);

    var lm=document.getElementById('lmid');

 lm.innerHTML=data+"</select>";

}

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章