ASP二级联动下拉菜单的问题如何解决?拜托各位了 3Q

ASP二级联动下拉菜单的问题如何解决?拜托各位了 3Q,第1张

asp数据库版二级联动下拉菜单 <script language = "JavaScript"> subcat=new Array() <% Dim i i=0 set rs2=server.createobject("adodb.recordset") sqltext="select * from [shopxp_stype]" rs2.open sqltext,conn,1,1 do while not rs2.eof %> subcat[<%=i%>]=new Array("<%=rs2("shopxpse_name")%>","<%=rs2("shopxpbe_id")%>","<%=rs2("shopxpse_id")%>") <% i=i+1 rs2.movenext loop rs2.close %> function changelocation(locationid) ...{ document.myform.shopxpse_id.length = 0 var locationid=locationid var i for (i=0i <subcat.lengthi++) ...{ if (subcat[i][1] == locationid) ...{ //这句不是很理解 document.myform.shopxpse_id.options[document.myform.shopxpse_id.length] = new Option(subcat[i][0], subcat[i][2]) } } } </script> <body> <form name="myform" method="post" action="adproductshopxp_do.asp" OnSubmit="return checkkk()" > <table width="90%" border="0" cellpadding="0" cellspacing="5" bgcolor="#F1F3F5"> <tr > <td width="30%" align="right">选择商品的分类:</td> <td width="70%"> 大类: <select name="shopxpbe_id" size="1" id="shopxpbe_id" onChange="changelocation(document.myform.shopxpbe_id.options[document.myform.shopxpbe_id.selectedIndex].value)"> <option selected value="0">请选择大类</option> <%sql="select shopxpbe_id,shopxpbe_name from shopxp_btype" set rs=server.CreateObject("adodb.recordset") rs.open sql,conn,1,1 do while not rs.eof%> <option value="<%=rs(0)%>"><%=rs(1)%></option> <%rs.movenext loop rs.close%> </select> 小类: <select name="shopxpse_id"> <option selected value="0">请选择小类</option> </select></td> </tr> 备注:数据库结构: shopxp_btype表:shopxpbe_id,shopxpbe_name shopxp_stype表:shopxpse_id,shopxpse_name,shopxpbe_id

<script language = "JavaScript">//js开始

var aaa//定义aaa变量

aaa=0//aaa赋0

bb = new Array()//创建bb动态数组

<%count = 0'定义bb数组下标变量

do while not rs.eof%>//循环所有记录

bb[<%=count%>] = new Array("<%= trim(rs("xiaoleiname"))%>","<%= trim(rs("daleiname"))%>","<%= trim(rs("xiaoleiid"))%>")//将(小类名,大类名,小类id)作为一个数据存入bb动态数组,bb变为一个二维数组

<%count = count + 1'下标变量递增

rs.movenext'移到下一条数据库记录

loop'循环

rs.close'关闭查询

set rs=nothing%>//释放变量

aaa=<%=count%>传递动态数组最大下标

function chang1(dalei)//根据大类名改变小类下拉内容的函数

{

document.form1.xiaolei.length = 0//清空小类下拉框内容

document.form1.xiaolei.disabled=false//设置小类下拉框失效

var dalei=dalei//这句个人认为没什么必要

var i//定义循环用的下标变量

document.form1.xiaolei.options[0] = new Option('====行业名称====','')//给小类下拉框添加一个名称为“====行业名称====”的选项

for (i=0i <aaai++)//开始循环

{

if (bb[i][1] == dalei)//根据大类名进行筛选

{

document.form1.xiaolei.options[document.form1.xiaolei.length] = new Option(bb[i][0], bb[i][0])添加小类下拉框选项

}

}

if(document.form1.xiaolei.options.length==1)document.form1.xiaolei.disabled=true//如果小类下拉框有选项,则恢复小类下拉框有效

}

</script>

<!--js程序完-->

<!--下面的只解释部分吧,太累-->

<body>

<form name="form1" action="search_save.asp" method="post"><!--表单开始-->

<select name="dalei" id="dalei" onChange="chang1(document.form1.dalei.options[document.form1.dalei.selectedIndex].value)">"><!--大类下拉框开始-->

<option value="">请选择行业范围</option><!--添加一个选项-->

<%sql="select * from hangyedalei"

set rs=server.createobject("ADODB.Recordset")

rs.open sql,conn,1,1

do while not rs.eof%>

<option value="<%=rs("daleiname")%>"><%=rs("daleiname")%></option><!--根据数据库查询结果添加全部大类进来-->

<%rs.movenext

loop

rs.Close

set rs=nothing%>

</select><!--大类下拉框结束-->

<select name="xiaolei"><!--自己应该看懂了吧-->

<option value="">请选择行业名称</option>

</select>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6803022.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存