利用xml数据岛实现多级关联下拉选择框的做法
2007-11-27 17:54:18 来源:WEB开发网<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=xml(标准化越来越近了)data>
<xml(标准化越来越近了)data>
<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>
</xml(标准化越来越近了)data>
</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.xml(标准化越来越近了)data.xml(标准化越来越近了)Document.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>
秋水无恨 :)
赞助商链接