关于无限级select下拉菜单的补充--针对于已存在值的状态获取

本文介绍了一种通过递归函数获取数据库中新闻条目层级的方法,并提供了具体的VBScript实现代码。此外,还展示了如何利用这些层级信息来动态展示多级菜单。

编辑时候的调用 在最上面增加如是代码:

演示地址
http://www.why9.com/sort

如果数据库没有设置depth字段可以递归取得depth函数如下 Get_level()

 Function Get_level(id)
   dim rs,sql
   Sql="Select upperid from pp_news Where id="&id
   Set rs=Conninner.Execute(Sql)
    If not rs.Eof and not rs.bof then
     Level=Get_level(rs("upperid"))+1
    Else
     Exit Function
    End if
   Set rs=nothing
   Get_level=Cint(Level)
 End Function

dim strings:strings=""
     function getstr(id)
     set rsstr=conn.execute("select upperid from pp_news where id="&id)
      if not rsstr.eof then
      if rsstr("upperid").value<>"0" then  strings=strings&","&rsstr("upperid").value
      dim tempid
      tempid=rsstr("upperid").value
      rsstr.close
      call getstr(tempid)
      else
      getstr=strings
      end if    
     end function
     dim sorts
     call getstr(sortid)
     sorts=sortid&strings
     response.write("<script> var sorts="""&sorts&"""; var ss="""&sortid&"""</script>")


在脚本处增加如下代码
for(var k=sortary.length-1;k>-1;k--)
{
 document.all.mainsel[k].style.display="block" 
}
for(var kk=sortary.length-1;kk>-1;kk--)

 for(var k=sortary.length-1;k>-1;k--)
 { 
  for(var jk=0;jk<document.all.mainsel[k].length;jk++)
  {
   if(document.all.mainsel[k].options[jk].value==sortary[kk])
   {
   document.all.mainsel[k].options[jk].selected=true
   if(k<sortary.length-1){
   dosel(document.all.mainsel[k].options[jk].value,document.all.mainsel[k+1])
   }
   }
  }
 }
}
在页末body前增加
<script>
setmainval(ss)
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值