28,404
社区成员
发帖
与我相关
我的任务
分享
<%
’**************************************************
’常用二级分类下拉列表[数据库版]
’叶随风(LeafinWind)
’QQ:19855466
’http://www.popasp.com/
’说明:
’支持多浏览器
’所有类别信息在同一个表中
’表结构:InfoClass[表名]
’ID: 自动编号
’ClassName: 类别名称[文本]
’PID: 父类id号[数字]
’ClassIndex: 类别索引[数字],用于排序,可有可无
’**************************************************
Dim SubClsCount, rsCl
Set rsCl = Server.Createobject("Adodb.Recordset")
rsCl.Open "Select * From [InfoClass] Where PID <> 0 Order By ClassIndex, ID",Conn,1,1 ’小类
%>
<script language = "JavaScript">
var TCount = 0;
subCls = new Array();
<%
SubClsCount = 0
Do While Not rsCl.Eof
%>
//数组中三个元素的说明:(小类ID:小类Select的value内容,小类父ID:所属的大类的ID,小类名称:Select列表显示的内容)
subCls[<%=SubClsCount%>] = new Array("<%=Trim(rsCl("ID"))%>","<%=rsCl("PID")%>","<%=Trim(rsCl("ClassName"))%>");
<%
SubClsCount = SubClsCount + 1
rsCl.Movenext
Loop
rsCl.Close
Set rsCl = Nothing
%>
TCount=<%=SubClsCount%>;
function changelocation(locationid)
{
document.getElementById("SmallClassID").length = 0;
var locationid = locationid;
var i;
for (i=0;i < TCount; i++)
{
if (subCls[i][1] == locationid)
{
//(前边:字段三内容,显示在列表中;后边:字段一内容,显示在VALUE值中!)
document.getElementById("SmallClassID").options[document.getElementById("SmallClassID").length] = new Option(subCls[i][2], subCls[i][0]);
}
}
if (document.getElementById("SmallClassID").options.length <= 0)
{
document.getElementById("SmallClassID").options[document.getElementById("SmallClassID").length] = new Option("暂无小类", 0);
}
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ASP+JS的二级分类</title>
</head>
<body">
<%
Dim SelClassID
Set rsCl = Server.Createobject("Adodb.Recordset")
rsCl.Open "Select * From [InfoClass] Where PID = 0 Order By ClassIndex, ID",Conn,1,1 ’大类
If rsCl.Eof And rsCl.Bof Then
Response.Write "请添加顶级(大)类别!"
Response.End()
Else
%>
大类:
<select name="BigClassID" size="1" id="BigClassID" onChange="changelocation(document.getElementById(’BigClassID’).options[document.getElementById(’BigClassID’).selectedIndex].value)">
<%
SelClassID = rsCl("ID")
Do While Not rsCl.Eof
%>
<option value="<%=rsCl("ID")%>"><%=rsCl("ClassName")%></option>
<%
rsCl.Movenext
Loop
%>
</select>
<%
End If
rsCl.Close
%>
小类:
<%
Dim SmallClassList
SmallClassList = "<select name=SmallClassID id=SmallClassID>"
rsCl.Open "Select * From [InfoClass] Where PID = "&SelClassID&" Order By ClassIndex, ID" ,Conn,1,1 ’小类
If Not (rsCl.Eof And rsCl.Bof) Then
Do While Not rsCl.Eof
SmallClassList = SmallClassList & "<option value=’"&rsCl("ID")&"’>"&rsCl("ClassName")&"</option>"
rsCl.Movenext
Loop
Else
SmallClassList = SmallClassList & "<option value=’0’>暂无小类</option>"
End If
rsCl.Close
Set rsCl = Nothing
SmallClassList = SmallClassList & "</select>"
Response.Write(SmallClassList)
%>
</body>
</html>