以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML源码及示例(仅原创和转载) 』  (http://bbs.xml.org.cn/list.asp?boardid=32)
----  [转帖]转蜗牛的"无限分类关联菜单示例"  (http://bbs.xml.org.cn/dispbbs.asp?boardid=32&rootid=&id=30557)


--  作者:springfeng
--  发布时间:4/14/2006 9:13:00 AM

--  [转帖]转蜗牛的"无限分类关联菜单示例"
非常惭愧,我看不太明白,想在这里请教高手们,classXml()这个函数是如何运作的?运行的时候为什么 onchange()老报错,但实施起来却没任何问题?
<SmallClassName value="开发">和<SmallClassName>开发</..>有什么不同?是不是前者是属性值后者是节点值?
这个实例中的下拉列表是没有option,如果要定义option,应该如何着手修改呢?
[html]
<select name=BigClassName></select>
<select name=SmallClassName></select>
<select name=SmallClassName2></select>
<script>
var arrSel=["BigClassName","SmallClassName","SmallClassName2"];//arrSel定义了要修改的下拉框和xml数据的节点名称
</script>

<xml id=xmldata>
<xmldata>
<BigClassName value="ASPid">
<SmallClassName value="开发">
<SmallClassName2 value="ASP">
</SmallClassName2>
<SmallClassName2 value="PHP">
</SmallClassName2>
<SmallClassName2 value=".Net">
</SmallClassName2>
<SmallClassName2 value="JSP">
</SmallClassName2>
<SmallClassName2 value="XML">
</SmallClassName2>
<SmallClassName2 value="数据库">
</SmallClassName2>
</SmallClassName>
<SmallClassName value="网页">
<SmallClassName2 value="CSS">
</SmallClassName2>
<SmallClassName2 value="HTML">
</SmallClassName2>
<SmallClassName2 value="WEB标准">
</SmallClassName2>
<SmallClassName2 value="网页特效">
</SmallClassName2>
</SmallClassName>
<SmallClassName value="Macromedia">
<SmallClassName2 value="Flash">
</SmallClassName2>
<SmallClassName2 value="Dreamweaver">
</SmallClassName2>
<SmallClassName2 value="Fireworks">
</SmallClassName2>
</SmallClassName>
</BigClassName>
<BigClassName value="网站开发者网络">
<SmallClassName value="网站">
<SmallClassName2 value="博客">
</SmallClassName2>
<SmallClassName2 value="论坛">
</SmallClassName2>
<SmallClassName2 value="网站">
</SmallClassName2>
</SmallClassName>
<SmallClassName value="论坛">
<SmallClassName2 value="网站开发">
</SmallClassName2>
<SmallClassName2 value="网页设计">
</SmallClassName2>
<SmallClassName2 value="视觉艺术">
</SmallClassName2>
</SmallClassName>
</BigClassName>
<BigClassName value="精英论坛">
<SmallClassName value="论坛">
<SmallClassName2 value="网站开发">
</SmallClassName2>
<SmallClassName2 value="网页设计">
</SmallClassName2>
<SmallClassName2 value="视觉艺术">
</SmallClassName2>
</SmallClassName>

</BigClassName>
</xmldata>
</xml>

<script>
function classXml(num){
/******* by qigis(2004-10-17) ********/
var i,j,arrTemp=[];
for(i=0;i<num;i++)arrTemp[i]=document.all(arrSel[i]).options[document.all(arrSel[i]).selectedIndex].text
if(num==arrSel.length){//这里处理最后的数据。
document.all("result").value="选中了("+arrTemp+")";return;
}
with(document.all(arrSel[num])){
length=0
var obj=document.all.xmldata.XMLDocument.childNodes[0];
for(i=0;i<num;i++)obj=obj.selectSingleNode(arrSel[i]+'[@value="'+arrTemp[i]+'"]');
for(i=0;i<obj.childNodes.length;i++)options[length++].text=obj.childNodes[i].getAttribute("value");
onchange=new Function("classXml("+(num+1)+")");
onchange();
}
}
classXml(0);
</script>
[/html]


--  作者:springfeng
--  发布时间:4/17/2006 10:00:00 AM

--  
无限失望....
装CSDN....
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
8,888.672ms