关于一个页面放置多个联动下拉菜单的疑问!麻烦大家帮帮忙!进来看看!谢谢!

BadBoyCyh 2005-02-11 07:17:21
在网上当了个XML的无限联动下拉菜单,但是,我的页面需要放置多个两级的联动下拉菜单,但是这个程序不行,我看了好久,改来改去,就是没办法把它改成一个页面能放置多个的,所以,请大家帮帮忙想想办法,源代码如下:

--------------xmlselect.js文件---------------------------------------
/*--------------------------------------
PowerBy:OnceDream@2004
Info:无限级下拉菜单
---------------------------------------*/
function LoadXml(XmlSrc,Selstr)
{
for(i=0;i<Selstr.length-1;i++)
document.all(Selstr[i]).onchange=new Function("DoChange("+(i+1)+")")
DoChange(0);
}

function DoChange(n)
{
var sel=Selstr;
var XmlStr=new ActiveXObject("Microsoft.XMLDOM");
XmlStr.async=false;
XmlStr.load(XmlSrc+".xml");
//获取字节点路径
var sPath="/*";
for(var i=0;i<n;i++) sPath +=("/*[" + document.all(sel[i]).selectedIndex + "]");
//加载数据
var items = XmlStr.selectSingleNode(sPath).childNodes;
var s = document.all(sel[n]);
with(s){
length=0;
for(var i=0;i<items.length;i++)
{
var text=items[i].getAttribute("text");
var v=items[i].getAttribute("value");
//eval(s+".options["+i+"] = new Option("+text+","+v+")");
options[length] = new Option(text,v);
}

}
if(++n<sel.length) DoChange(n);
}

-----------------------------xmlselect.js文件结束-----------------------------------




-----------------------------XML文件------------------------------------
<?xml version="1.0" encoding="gb2312"?>
<Class>
<Big text="请选择" value="">
<Middle text="请选择" value=""></Middle>
</Big>
<Big text="安徽" value="54{$}安徽">
<Middle text="安庆" value="56{$}安庆"></Middle>
<Middle text="蚌埠" value="57{$}蚌埠"></Middle>
<Middle text="合肥" value="55{$}合肥"></Middle>
<Middle text="芜湖" value="58{$}芜湖"></Middle>
</Big>
<Big text="福建省" value="59{$}福建省">
<Middle text="福州" value="60{$}福州"></Middle>
<Middle text="泉州" value="61{$}泉州"></Middle>
<Middle text="厦门" value="62{$}厦门"></Middle>
<Middle text="漳州" value="63{$}漳州"></Middle>
</Big>
</Class>
-----------------------XML文件结束------------------------------------


---------------------test1.htm测试页1文件----------------------------
<script language="javascript" src="xmlselect.js"></script>

<select name="AreaPlist" style="font-size:12px;width=60px;"></select>
<select name="AreaClist" style="font-size:12px;width=60px;"></select>

<script language="javascript">
var XmlSrc="area";
var Selstr=["AreaPlist","AreaClist"];
LoadXml(XmlSrc,Selstr);

</script>
说明:该文件运行结果正常!
-----------------------test1.htm文件结束--------------------------------------

但是这样就不行,如下:

--------------------------test2.htm测试文件----------------------------------
<script language="javascript" src="xmlselect.js"></script>

<select name="AreaPlist" style="font-size:12px;width=60px;"></select>
<select name="AreaClist" style="font-size:12px;width=60px;"></select>
<br><br>
<select name="Plist" style="font-size:12px;width=60px;"></select>
<select name="Clist" style="font-size:12px;width=60px;"></select>

<script language="javascript">
var XmlSrc="area";
var Selstr=["AreaPlist","AreaClist"];
LoadXml(XmlSrc,Selstr);

var a="area";
var b=["Plist","Clist"];
LoadXml(a,b);
</script>
说明:当页面再放一个两级联动菜单的时候,第二个就不正常!在xmlselect.js文件中可以看出是变量的问题!麻烦那位朋友帮忙修改一下,谢谢!我研究了好长时间了,苦于JS太菜了!所以麻烦大家了!谢谢!谢谢!
-------------------------------test2.htm测试文件结束----------------------------------
...全文
122 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
clearwater21cn 2005-02-16
  • 打赏
  • 举报
回复
Mark
donghid 2005-02-15
  • 打赏
  • 举报
回复
自己动手,丰衣足食.
源代码都给你了,还不会改?
代码量也不多嘛.
不然次次都需要别人帮你改,多麻烦?
多练练就好了.
up
BadBoyCyh 2005-02-14
  • 打赏
  • 举报
回复
竟敢把我的原创改成'powerby:OnceDream@2004' ???!

-------------------------------------------------------

你好,实在抱歉,这个我并不知道,我在网上当的,里面就带有这个版权!!!
JK_10000 2005-02-13
  • 打赏
  • 举报
回复
竟敢把我的原创改成'powerby:OnceDream@2004' ???!

---------

关注ing:
原创代码里有告诉使用者须注明出处没?
fason 2005-02-12
  • 打赏
  • 举报
回复
竟敢把我的原创改成'powerby:OnceDream@2004' ???!

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧