主题:  多级列表选择问题

crazyf

职务:普通成员
等级:1
金币:0.0
发贴:32
#12002/12/17 11:18:43
我想实现一个先选择大类,然后选择中类(中类的内容属于大类),最后选择小类(小类的内容属于中类)的三级列表功能。
我觉得这是个很好的多级选择程序,但不管怎么样,只能实现二级选择,三级就是不行。
请高手指教。
可以访问网站http://www.smzz.com/soc/selectonchange.asp来测试。
如能告之,不胜感激!


代码如下:
' 数据库连接程序
<%
sql="select distinct 大类 from 人才市场供求信息分类标准"
sql1="select distinct 大类,中类 from 人才市场供求信息分类标准"
sql2="select distinct 大类,中类,小类 from 人才市场供求信息分类标准"
set rs=GetMdbRecordSet("sdics.mdb",sql)
set rs1=GetMdbRecordSet("sdics.mdb",sql1)
set rs2=GetMdbRecordSet("sdics.mdb",sql2)
if rs is nothing then
response.write "rs open error"
response.end
end if
if rs1 is nothing then
response.write "rs1 open error"
response.end
end if
if rs2 is nothing then
response.write "rs2 open error"
response.end
end if
%>


大类

中类

小类



5D荣誉版主

职务:普通成员
等级:1
金币:10.0
发贴:271
#22002/12/17 14:46:38
我做了个例子,数据表column结构如下,看看,也许对你有点帮助
id column1 column2 column3
1 1 1 1
2 1 1 2
3 1 1 3
4 1 2 1
5 1 2 2
6 2 1 1
7 2 1 1
8 3 1 2
<%
    set conn = server.CreateObject("adodb.connection")
    connstr = 数据库连接字符串    
conn.Open connstr
    set rs = server.CreateObject("adodb.recordset")
    sql = "select distinct column1 from [column]"
    rs.Open sql,conn,1,1
    first_text = ""
    first_default_select = rs(0)
    while not rs.EOF        
        first_text = first_text & ""
        rs.MoveNext
    wend    
    rs.Close
    sql = "select distinct column2 from [column] where column1 =" & cint(first_default_select)
    rs.Open sql,conn,1,1
    second_default_select = rs(0)
    while not rs.EOF
        second_text = second_text & ""
        rs.MoveNext
    wend
    rs.close
    sql = "select distinct column3 from [column] where column2 =" & cint(second_default_select)
    rs.Open sql,conn,1,1
    while not rs.EOF
        third_text = third_text & ""
        rs.MoveNext
    wend
    rs.close
%>


first select

second select

third select



crazyf

职务:普通成员
等级:1
金币:0.0
发贴:32
#32002/12/17 17:26:46
老大,好象连数据库都无法打开啊,你能否在数据库连接上写得详细一些,好吗?
还有select distinct column1 from [column],这column是mdb的数据库还是Excel的啊?



5D荣誉版主

职务:普通成员
等级:1
金币:10.0
发贴:271
#42002/12/17 17:41:47
狂昏中!
connstr写成你的数据库链接字符串,你的数据库是什么类型没有关系.
column是我示例数据表的表名



crazyf

职务:普通成员
等级:1
金币:0.0
发贴:32
#52002/12/19 13:45:47
谢谢你的指点,
但是三级列表还是无法动态的改变。
不知你有没有试一下。



5D荣誉版主

职务:普通成员
等级:1
金币:10.0
发贴:271
#62002/12/19 15:21:43
当然,如果我没试当然不会贴出来了呵.
column是我为测试这个设计的表的名称,有id,column1,column2,column3这几个字段,分别代表每级列表中会出现的选择项呵.