佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 關(guān)于無限分級(jí)(ASP+數(shù)據(jù)庫(kù)+JS)的實(shí)現(xiàn)代碼

關(guān)于無限分級(jí)(ASP+數(shù)據(jù)庫(kù)+JS)的實(shí)現(xiàn)代碼

熱門標(biāo)簽:團(tuán)購(gòu)網(wǎng)站 Mysql連接數(shù)設(shè)置 服務(wù)器配置 Linux服務(wù)器 電子圍欄 銀行業(yè)務(wù) 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 阿里云
代碼可以優(yōu)化,請(qǐng)根據(jù)自己需求進(jìn)行優(yōu)化 
說明:
所先把所有分類讀取存放到JS數(shù)組中(如果數(shù)據(jù)量大可能就有點(diǎn)麻煩)
當(dāng)選擇時(shí)候返回父分類ID 在從數(shù)組中找出符合的分類,然后顯示給用戶
數(shù)據(jù)庫(kù)設(shè)計(jì)(可以根據(jù)自己需求添加字段,如此分類屬于什么分類等等)
字段            類型          說明
id               自動(dòng)編號(hào)     記錄編號(hào)
cotename    文本           分類名稱
byid            數(shù)字           父分類ID(即為此表ID,根接點(diǎn)時(shí)值為0)

JS部分代碼(命名為*.asp)
復(fù)制代碼 代碼如下:

%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+"'>上級(jí)分類/option>";}
 //alert(length+'/'+thevalue);
    var lm=document.getElementById('lmid');
 lm.innerHTML=data+"/select>";
}
%Conn.Close:Set Conn=Nothing%>

調(diào)用頁(yè)面代碼
復(fù)制代碼 代碼如下:

%
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>

運(yùn)行后結(jié)果 

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]

數(shù)據(jù)庫(kù):



遞歸

復(fù)制代碼 代碼如下:

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開發(fā)框架經(jīng)驗(yàn)小結(jié)【二】列表分頁(yè)處理和插件JSTree的使用
  • jsTree 基于JQuery的排序節(jié)點(diǎn) Bug
  • jquery下jstree簡(jiǎn)單應(yīng)用 - v1.0
  • jquery.jstree 增加節(jié)點(diǎn)的雙擊事件代碼
  • 基于jsTree的無限級(jí)樹JSON數(shù)據(jù)的轉(zhuǎn)換代碼
  • JQery jstree 大數(shù)據(jù)量問題解決方法
  • jsTree樹控件(基于jQuery, 超強(qiáng)悍)[推薦]
  • js實(shí)現(xiàn)無限級(jí)樹形導(dǎo)航列表效果代碼
  • json+jQuery實(shí)現(xiàn)的無限級(jí)樹形菜單效果代碼
  • javascript實(shí)現(xiàn)無限級(jí)select聯(lián)動(dòng)菜單
  • 基于jquery的無限級(jí)聯(lián)下拉框js插件
  • js無限級(jí)折疊菜單精簡(jiǎn)版
  • php 無限級(jí)數(shù)據(jù)JSON格式及JS解析
  • PHP+JS無限級(jí)可伸縮菜單詳解(簡(jiǎn)單易懂)
  • jstree創(chuàng)建無限分級(jí)樹的方法【基于ajax動(dòng)態(tài)創(chuàng)建子節(jié)點(diǎn)】

標(biāo)簽:江蘇 大理 蚌埠 衢州 衡水 萍鄉(xiāng) 廣元 棗莊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于無限分級(jí)(ASP+數(shù)據(jù)庫(kù)+JS)的實(shí)現(xiàn)代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    循化| 丰都县| 衡水市| 宝鸡市| 县级市| 额敏县| 平顶山市| 方正县| 涡阳县| 沾化县| 英吉沙县| 秀山| 电白县| 邹城市| 阜新市| 松原市| 渝北区| 莎车县| 卢龙县| 长阳| 贡觉县| 泽州县| 三明市| 铁岭市| 彩票| 赣州市| 澄城县| 奉节县| 安吉县| 安顺市| 侯马市| 鲁山县| 石城县| 正镶白旗| 雷州市| 黄平县| 奇台县| 湄潭县| 汝阳县| 八宿县| 宜宾市|