| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 490 人关注过本帖
标题:[求助]关于二级联动菜单
只看楼主 加入收藏
zmyzzz
Rank: 1
等 级:新手上路
帖 子:145
专家分:0
注 册:2005-9-21
收藏
 问题点数:0 回复次数:2 
[求助]关于二级联动菜单

为什么我的二级联动菜单界面显示的界面是空白的呢??
源代码如下:
<!--#include file="Conn.asp"-->
<script language="javascript">
<%
dim sql,i,j
set rs_bmd=server.CreateObject("adodb.recordset")
sql="select *from bmd"
rs_bmd.open sql,conn,1,1
%>
var selects=[];
selects['xxx']=new array(new option('请选择','xxx'));
<%
for i=1 to rs_bmd.recordcount
%>
selects['<%=rs_bmd("id_no")%>']=new array(
<%
set rs_bmx=server.CreateObject("adodb.recordset")
sql="select * from bmx where bmd_id="&rs_bmd("id_no")&""
rs_bmx.open sql,conn,1,1
if re_bmx.recordcount>0 then
for j=1 to rs_bmx.recordcount
if j=rs_bmx.recordcount then
%>
new option('<%=trim(rs_bmx("bm_name"))%>','<%=trim(rs_bmx("id_no"))%>'));
<%else%>
new option('<%=trim(rs_bmx("bm_name"))%>','<%=trim(rs_bmx("id_no"))%>')),
<%
end if
rs_bmx.movenext
next
else
%>
new option('','0'));
<%
end if
rs_bmx.close
set rs_bmx=nothing
rs_bmd.movenext
next
rs_bmd.close
set rs_bmd=nothing
%>
function chsel(){
with (document.form1){
if(bmd_select.value){
bmx_select.options.length=0;
for(var i=0;i<selects[bmd_select.value].length;i++){
bmx_select.add(selects[bmd_select.value][i]);
}
}
}
}
</script>
<form name="form1" method="post" action="">
<select name="bmd_select" onChange=chsel()>
<option value="xxx">请选择</option>
<%
dim tmpid
set rs_bmd=server.CreateObject("adodb.recordset")
sql="select *from bmd"
rs_bmd.open sql,conn,1,1
while not rs_bmd.eof
tmpid=rs_bmd("id_no")
%>
<option value="<%=rs_bmd("id_no")%>"><%=trim(rs_bmd("bm_name"))%></option>
<%
rs_bmd.movenext
wend
rs_bmd.close
set rs_bmd=nothing
%>
</select>
<select name="bmx_select">

<%set rs_bmx=server.CreateObject("adodb.recordset")
sql="select * from bmx where bmd_id="&tmpid&""
rs_bmx.open sql,conn,1,1
while not rs_bmx.eof
%>
<option value="<%=rs_bmx("id_no")%>"><%=trim(rs_bmx("id_no"))%></option>
<%rs_bmx.movenext
wend
rs_bmx.close
set rs_bmx=nohing
%>
</select>
</form>

请帮助看一下好么....谢谢!!
在空白界面的源代码里有这么一段提示:

<script language="javascript">

var selects=[];
selects['xxx']=new array(new option('请选择','xxx'));

selects['1']=new array(
<font face="宋体" size=2>
<p>Microsoft JET Database Engine</font> <font face="宋体" size=2>错误 '80040e07'</font>
<p>
<font face="宋体" size=2>标准表达式中数据类型不匹配。</font>
<p>
<font face="宋体" size=2>/fenlei2.asp</font><font face="宋体" size=2>,行 18</font>
可是我找不出来到底是哪里不匹配哦.......
我的表是这么建立的:
表一、(bmd)
字段 类型
id_no 自动编号
bm_name 文本
表二、(bmx)
id_no 自动编号 备注
bmd_id 文本 这里是表一的id_no号
bm_name 文本

[此贴子已经被作者于2006-3-8 10:03:43编辑过]

搜索更多相关主题的帖子: 菜单 
2006-03-08 09:56
anjincheng
Rank: 2
等 级:论坛游民
威 望:5
帖 子:728
专家分:31
注 册:2005-7-27
收藏
得分:0 

[CODE]<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>:::回复您的多级菜单的内容:::</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Dsy()
{
this.Items = {};
}
Dsy.prototype.add = function(id,iArray)
{
this.Items[id] = iArray;
}
Dsy.prototype.Exists = function(id)
{
if(typeof(this.Items[id]) == "undefined") return false;
return true;
}
function change(v){
var str="0";
for(i=0;i<v;i++){ str+=("_"+(document.getElementById(s[i]).selectedIndex-1));};
var ss=document.getElementById(s[v]);
with(ss){
length = 0;
options[0]=new Option(opt0[v],opt0[v]);
if(v && document.getElementById(s[v-1]).selectedIndex>0 || !v)
{
if(dsy.Exists(str)){
ar = dsy.Items[str];
for(i=0;i<ar.length;i++)options[length]=new Option(ar[i],ar[i]);
if(v)options[1].selected = true;
}
}
if(++v<s.length){change(v);}
}
}
var dsy = new Dsy();
//第一级
dsy.add("0",["1","2","3"]);
//第二级
dsy.add("0_0",["a","b","c"]);
dsy.add("0_1",["e","f","g"]);
dsy.add("0_2",["h","i","j"]);
//-->
</SCRIPT>
<SCRIPT LANGUAGE = JavaScript>
var s=["s1","s2"];
var opt0 = ["第一级","第二级"];
function setup()
{
for(i=0;i<s.length-1;i++)
document.getElementById(s[i]).onchange=new Function("change("+(i+1)+")");
change(0);
}
//-->
</SCRIPT>
</head>
<body bgcolor="#6699cc" onload="setup()" >
<p>
</p>
<p align="center"><font size="2">第一级
<select name="11111" id="s1">
<option>第一级</option>
</select>第二级
<select name="22222" id="s2">
<option>第二级</option>
</select>
</font></p>
<tr><td width="100%" height="65"><p><span class="style8"><font size="2"><span class="style6"> </span></font></span><span class="style3">
</span></p></td>
</tr>
</body>
</html>[/CODE]


我是农家的孩子,我有农家孩子的本色!
2006-03-08 11:38
zmyzzz
Rank: 1
等 级:新手上路
帖 子:145
专家分:0
注 册:2005-9-21
收藏
得分:0 

不好意思....java我不会....
我的意思是通过数据库来读取值...
可是我怎么也找不出这个毛病到底出在那里了...能帮我好好看看么....谢谢!!!


吾尝终日而思之,不如须臾之所学也
2006-03-08 14:54
快速回复:[求助]关于二级联动菜单
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.066843 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved