以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML源码及示例(仅原创和转载) 』  (http://bbs.xml.org.cn/list.asp?boardid=32)
----  xml制作下拉菜单  (http://bbs.xml.org.cn/dispbbs.asp?boardid=32&rootid=&id=6325)


--  作者:whf333
--  发布时间:3/31/2004 11:14:00 AM

--  xml制作下拉菜单
有劳各位,谁能提供一个用xml相关技术制作下拉菜单的小程序,谢谢!
--  作者:小鞋子
--  发布时间:3/31/2004 12:01:00 PM

--  
<select name=year></select>
<select name=month></select>
<select name=date></select>
<select name=clock></select>
<input name=result>

<script>
var arrSel=["year","month","date","clock"];//arrSel定义了要修改的下拉框和xml数据的节点名称
</script>

<xml id=xmldata>
<xmldata>
<year value="2000">
  <month value="4">
  <date value="14">
   <clock value="一点" />
   <clock value="三点" />
  </date>
  <date value="17">
   <clock value="一点" />
  </date>
  </month>
  <month value="5">
  <date value="15">
   <clock value="一点" />
   <clock value="四点" />
   <clock value="七点" />
  </date>
  </month>
</year>
<year value="2001">
  <month value="7">
  <date value="16">
   <clock value="一点" />
   <clock value="五点" />
   <clock value="九点" />
  </date>
  </month>
</year>
</xmldata>
</xml>

<script>
function qswhXml(num){
/******* by qiushuiwuhen(2002-5-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("qswhXml("+(num+1)+")");
onchange();
}
}
qswhXml(0);
</script>


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