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

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

熱門標(biāo)簽:離線電子地圖標(biāo)注軟件注冊 咸陽銷售外呼系統(tǒng) 為什么外呼系統(tǒng)需要預(yù)存話費(fèi)呢 常用地圖標(biāo)注范圍點(diǎn) 寧夏怎么申請400電話 企數(shù)外呼系統(tǒng)能用多久 辦理400電話一年多少錢 蘭州智能語音電銷機(jī)器人功能 外呼回?fù)芟到y(tǒng)圖片
代碼可以優(yōu)化,請根據(jù)自己需求進(jìn)行優(yōu)化 
說明:
所先把所有分類讀取存放到JS數(shù)組中(如果數(shù)據(jù)量大可能就有點(diǎn)麻煩)
當(dāng)選擇時(shí)候返回父分類ID 在從數(shù)組中找出符合的分類,然后顯示給用戶
數(shù)據(jù)庫設(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)用頁面代碼
復(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需再刷新一下頁面才能執(zhí)行]

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



遞歸

復(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é)【二】列表分頁處理和插件JSTree的使用
  • jsTree 基于JQuery的排序節(jié)點(diǎn) Bug
  • jquery下jstree簡單應(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í)折疊菜單精簡版
  • php 無限級(jí)數(shù)據(jù)JSON格式及JS解析
  • PHP+JS無限級(jí)可伸縮菜單詳解(簡單易懂)
  • jstree創(chuàng)建無限分級(jí)樹的方法【基于ajax動(dòng)態(tài)創(chuàng)建子節(jié)點(diǎn)】

標(biāo)簽:家電維修 咸陽 麗江 溫州 昆明 鐵嶺 昌都 泰州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于無限分級(jí)(ASP+數(shù)據(jù)庫+JS)的實(shí)現(xiàn)代碼》,本文關(guān)鍵詞  關(guān)于,無限,分級(jí),ASP+,數(shù)據(jù)庫,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《關(guān)于無限分級(jí)(ASP+數(shù)據(jù)庫+JS)的實(shí)現(xiàn)代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于關(guān)于無限分級(jí)(ASP+數(shù)據(jù)庫+JS)的實(shí)現(xiàn)代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章