asp两级联动代码怎么写

我现在需要两级联动~划红线的是一级 请大牛们帮帮忙~急用啊
2024-10-31 16:22:40
推荐回答(3个)
回答(1):

分类表格设置字段: ID, name ,parID ;ID为关键字自动增加 ,name是分类名称,parID是记录这个分类名称的父类ID设置默认值为0,为0表示为顶级.
用2个记录集循环出对应的记录

效果地址
http://kartty.com/ProdType.asp
别改动啊.....

前台
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
On Error Resume Next
response.Charset="utf-8"
dim conn,sql,rs,pormpt
set conn = server.CreateObject("ADODB.Connection")
conn.open (application("conn"))
sql="select id,name,parid from class ORDER BY name asc"

set rs=conn.execute(sql)

do while not rs.eof
if jsarr<>"" then
jsarr= jsarr&",new Array('"&rs("id")&"','"&rs("name")&"','"&rs("parid")&"')"
else
jsarr="new Array('"&rs("id")&"','"&rs("name")&"','"&rs("parid")&"')"
end if
rs.MoveNext
loop

prompt=request.Cookies("prompt")
response.Cookies("prompt")=""
rs.close
set rs=nothing
conn.close
set conn=nothing
%>




Product Type
























Add Category:
※√ 刷新
Parent class:













后台
'生成1级2级分类Child.js文件和Parent.inc文件
set rs=conn.execute("select id,name from class where parid=0")
parstr="
    "
    do while not rs.eof
    parstr=parstr&"
  • "&vbCrLf&""&rs("name")&""&vbCrLf&"
  • "&vbCrLf
    set chirs=conn.execute("select id,name from class where parid="&rs("id"))
    chistr=chistr& "var "&rs("name")&"="""";"&vbCrLf
    chirs.Close
    rs.movenext
    loop
    set chirs=nothing

回答(2):

数据库设计的时候不好,所以影响了你现在的编程。最好是改下数据库:加入level,或者一type这样的字段,用来表示所属于哪个菜单级。
如果已经不能改了,按现在的结构也可以,就是需要判断一下:

一级:select * from 表 where len(menu)=6
二级:select * from 表 where left(menu,6)="一级的值" and len(menu)>6

当然,其他方法也很多的,这里只是写一个简单的示例。
我个人建议最好还是改下数据结构更好

回答(3):

代码写出来就太长了,可以给个思路你。先读取一级数据加载在一级下拉列表,然后根据在下拉列表select的onchange()事件里判断所选取的值再加载二级数据,简单点用表单提交的方法可实现,也可用ajax实现无刷新实时加载