高分求助 ASP 无刷新 二级联动
我要做一个ASP二级联动第一级是我我把数据存入cooke中例如:“网络部,财务部,业务部”然后分解存入第一级这个没有问题但第二级需要查询数据就是做不出来,望高手指点第二级...
我要做一个 ASP 二级联动
第一级 是我我把数据存入cooke 中例如:“网络部,财务部,业务部 ” 然后分解存入第一级 这个没有问题
但第二级 需要查询数据 就是做不出来,望高手指点
第二级 查询的表 为 USER 所需字段 loginid username
一下代码是自己做的,可能思路不对,希望高手能写个可以用的
<script language="javascript" type="text/javascript">
function getyuangong(locationid)
{
var i=0
var bumen=document.form1.bumen.value;
var syuangong=document.form1.yuangong;
bumen.selectedIndex - 1;
syuangong.length=1;
alert(bumen);
<% sql="select * from [user] where bm= '"&bumen&"' order by id"
set rs=conn.execute(sql)
while not rs.eof
%>
syuangong[i+1]=new Option("sdf","sdf");
i=i+1
<% rs.movenext
wend
rs.close
%>
}
</script>
<form name="form1" method="post" action="">
<select name="bumen" onChange="getyuangong(this.value)">
<option value="">管理部门</option>
<%
a = Split(session("qx"),",")
for each i in a
%>
<option value= <%response.Write i %>><%response.Write i %> </option>
<%next %>
</select>
<p>
<select name="yuangong">
<option value="0">请选择</option>
</select>
</p>
</form>
如果代码可以用 马上给50分! 展开
第一级 是我我把数据存入cooke 中例如:“网络部,财务部,业务部 ” 然后分解存入第一级 这个没有问题
但第二级 需要查询数据 就是做不出来,望高手指点
第二级 查询的表 为 USER 所需字段 loginid username
一下代码是自己做的,可能思路不对,希望高手能写个可以用的
<script language="javascript" type="text/javascript">
function getyuangong(locationid)
{
var i=0
var bumen=document.form1.bumen.value;
var syuangong=document.form1.yuangong;
bumen.selectedIndex - 1;
syuangong.length=1;
alert(bumen);
<% sql="select * from [user] where bm= '"&bumen&"' order by id"
set rs=conn.execute(sql)
while not rs.eof
%>
syuangong[i+1]=new Option("sdf","sdf");
i=i+1
<% rs.movenext
wend
rs.close
%>
}
</script>
<form name="form1" method="post" action="">
<select name="bumen" onChange="getyuangong(this.value)">
<option value="">管理部门</option>
<%
a = Split(session("qx"),",")
for each i in a
%>
<option value= <%response.Write i %>><%response.Write i %> </option>
<%next %>
</select>
<p>
<select name="yuangong">
<option value="0">请选择</option>
</select>
</p>
</form>
如果代码可以用 马上给50分! 展开
3个回答
展开全部
Javascript+ASP+Access简单二级联动下啦菜单
数据库access的,自己建立一下
<script type="text/javascript" src="product_class_menu.asp"></script>
<body >
<select >
<option value="==请选择==" selected="selected">==请选择==</option>
</select>
<select →'+this.value;">
<option value="==请选择==" selected="selected">==请选择==</option>
</select> <span style="color:#FF6600;"></span>
product_class_menu.asp内容:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Conn.asp"-->
<%
dim i,x,pro_class,ledger(),rs_1
set rs = server.CreateObject("Adodb.Recordset")'大分类记录集
set rs_1 = server.CreateObject("Adodb.Recordset")'小分类记录集
rs.open "Select * from ProductClass Order By ProductClass.Orders",conn,1,1
redim myArray(rs.recordcount)'重定义动态数组为记录集长度
for i=1 to rs.recordcount
pro_class = pro_class&",'"&rs("ClassName")&"'"'取出大分类
rs_1.open "select * from ProductClassLedger Where ClassID="&rs("ID")&" Order By ProductClassLedger.Orders",conn,1,1
if rs_1.eof then
myArray(i) = "|无分类"'如果没有小分类
else
for x = 1 to rs_1.recordcount
myArray(i) = myArray(i)&"|"&rs_1("ClassName")'取出对应的小分类给动太数组
if rs_1.eof then exit for
rs_1.movenext
next
end if
rs_1.close
if rs.eof then exit for
rs.movenext
next
rs.close
conn.close
set rs = nothing:set conn = nothing:set connstr = nothing
%>
var i;//循环记数
var classA = new Array(<%= "'==请选择=='"&pro_class %>);//大分类
var ledger = new Array();
<%
for i = 1 to ubound(myArray)
response.Write("ledger["&i&"] = '==请选择=="&myArray(i)&"'")&vbCrlf'小分类组写入Javascript数组
next
%>
function createSelect1(select1)//产生一级
{
for(i=1;i<classA.length;i++)
{select1.options.add(new Option(classA[i],classA[i]));}
}
function createSelect2(select2,className)//产生二级
{
var index;//一级菜单与二级菜单数组对就的下标
for(i=0;i<classA.length;i++){
if(classA[i]==className){
index = i;
break;
}
}
var s2;
s2 = ledger[index].split("|");//生成二级菜单值
var len = select2.options.length;//取得当前Select2列表的项目数
for(i=0;i<len;i++){
select2.options[0] = null;//清空原有二级选项
}
for(var i=0;i<s2.length;i++)
{
select2.options.add(new Option(s2[i],s2[i]));//追加新选项
}
}
数据库access的,自己建立一下
<script type="text/javascript" src="product_class_menu.asp"></script>
<body >
<select >
<option value="==请选择==" selected="selected">==请选择==</option>
</select>
<select →'+this.value;">
<option value="==请选择==" selected="selected">==请选择==</option>
</select> <span style="color:#FF6600;"></span>
product_class_menu.asp内容:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Conn.asp"-->
<%
dim i,x,pro_class,ledger(),rs_1
set rs = server.CreateObject("Adodb.Recordset")'大分类记录集
set rs_1 = server.CreateObject("Adodb.Recordset")'小分类记录集
rs.open "Select * from ProductClass Order By ProductClass.Orders",conn,1,1
redim myArray(rs.recordcount)'重定义动态数组为记录集长度
for i=1 to rs.recordcount
pro_class = pro_class&",'"&rs("ClassName")&"'"'取出大分类
rs_1.open "select * from ProductClassLedger Where ClassID="&rs("ID")&" Order By ProductClassLedger.Orders",conn,1,1
if rs_1.eof then
myArray(i) = "|无分类"'如果没有小分类
else
for x = 1 to rs_1.recordcount
myArray(i) = myArray(i)&"|"&rs_1("ClassName")'取出对应的小分类给动太数组
if rs_1.eof then exit for
rs_1.movenext
next
end if
rs_1.close
if rs.eof then exit for
rs.movenext
next
rs.close
conn.close
set rs = nothing:set conn = nothing:set connstr = nothing
%>
var i;//循环记数
var classA = new Array(<%= "'==请选择=='"&pro_class %>);//大分类
var ledger = new Array();
<%
for i = 1 to ubound(myArray)
response.Write("ledger["&i&"] = '==请选择=="&myArray(i)&"'")&vbCrlf'小分类组写入Javascript数组
next
%>
function createSelect1(select1)//产生一级
{
for(i=1;i<classA.length;i++)
{select1.options.add(new Option(classA[i],classA[i]));}
}
function createSelect2(select2,className)//产生二级
{
var index;//一级菜单与二级菜单数组对就的下标
for(i=0;i<classA.length;i++){
if(classA[i]==className){
index = i;
break;
}
}
var s2;
s2 = ledger[index].split("|");//生成二级菜单值
var len = select2.options.length;//取得当前Select2列表的项目数
for(i=0;i<len;i++){
select2.options[0] = null;//清空原有二级选项
}
for(var i=0;i<s2.length;i++)
{
select2.options.add(new Option(s2[i],s2[i]));//追加新选项
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-03-20
展开全部
这里有一个多级select联动
或许有帮助
或许有帮助
参考资料: http://www.blueidea.com/common/shoutbox/redir.asp?id=11685
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议用AJAX来做...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询