• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    关于无限分级(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='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;kid.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;iid.length;i++){
         if(thevalue==byid[i]){
        id_s+=id[i]+"|";cotename_s+=cotename[i]+"|";
        } 
       }
       if(id_s=='-1|'){
          for(i=0;iid.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;jlength;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>";
    }
    %Conn.Close:Set Conn=Nothing%>

    调用页面代码
    复制代码 代码如下:

    %
    Dim lm
    lm=request("lm")
    if lm=Empyt or Not Isnumeric(lm) then lm=0
    %>
    html>
    script type="text/javascript" src="*.asp">/script>
    body onLoad="CheckLm(%=lm%>)">
    div id="lmid">/div>
    /body>
    /html>

    运行后结果 

    [Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

    数据库:



    递归

    复制代码 代码如下:

    Sub GetA(TheID)

    set rs=server.CreateObject("adodb.recordset")
    dim rs,sql
         sql="select * from [DB_Cote] Where ByID in("TheID")"
        rs.open sql,conn,1,1
          i=0
       if not rs.eof then
         do while not rs.eof 
           response.Write(rs("cotename")"br>")
        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)
    %>

    您可能感兴趣的文章:
    • 基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
    • jsTree 基于JQuery的排序节点 Bug
    • jquery下jstree简单应用 - v1.0
    • jquery.jstree 增加节点的双击事件代码
    • 基于jsTree的无限级树JSON数据的转换代码
    • JQery jstree 大数据量问题解决方法
    • jsTree树控件(基于jQuery, 超强悍)[推荐]
    • js实现无限级树形导航列表效果代码
    • json+jQuery实现的无限级树形菜单效果代码
    • javascript实现无限级select联动菜单
    • 基于jquery的无限级联下拉框js插件
    • js无限级折叠菜单精简版
    • php 无限级数据JSON格式及JS解析
    • PHP+JS无限级可伸缩菜单详解(简单易懂)
    • jstree创建无限分级树的方法【基于ajax动态创建子节点】
    上一篇:FSO遍历目录实现全站插马的代码
    下一篇:用asp脚本实现限制IP访问
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    关于无限分级(ASP+数据库+JS)的实现代码 关于,无限,分级,ASP+,数据库,