如果我有多行需要选择怎么办???? 如: var arrSel1=["one1","two1","three1","four1"];//arrSel1定义了要修改的下拉框 var arrSel2=["one2","two2","three2","four2"];//arrSel2定义了要修改的下拉框 var arrSel3=["one3","two3","three3","four3"];//arrSel3定义了要修改的下拉框
to zlgun(自由人):你的思路是正确的 就像msdn上导航树一样,如果一下子下到客户端肯定开销很大.... 下面的例子前些日期草草写的,原来后台是sql server,用xml传输 http://freehost25.websamba.com/yuxiaoyi/Tree/getCode.htm,有兴趣可以研究下 ---------------------------------------------------------------- to newli() 只能选择一个被选中的,不然无法连动吧....
----------------------------------------------------------------
好象不是二叉树吧;)
为什么你要用“好像”呢?我是忘记了的,Sorry http://thns.tsinghua.edu.cn:2000/lesson/ch06/0602.html
(有秘密无所谓,至少写出思路,不要糊里糊涂的解决方法)xml通过xsl过滤是慢,所以需要用js.dom来写,关注中
http://dob.tnc.edu.tw/show_page.php?s=454&t=6
我个人认为对于比较庞大的树,一次性把数据放到客户端数组里并不合适,台湾人做的树形结构则是根据用户选择逐步扩充客户端的树。说的不是很清楚
,不过看了例子估计大家会明白的。
如:
var arrSel1=["one1","two1","three1","four1"];//arrSel1定义了要修改的下拉框
var arrSel2=["one2","two2","three2","four2"];//arrSel2定义了要修改的下拉框
var arrSel3=["one3","two3","three3","four3"];//arrSel3定义了要修改的下拉框
就像msdn上导航树一样,如果一下子下到客户端肯定开销很大....
下面的例子前些日期草草写的,原来后台是sql server,用xml传输
http://freehost25.websamba.com/yuxiaoyi/Tree/getCode.htm,有兴趣可以研究下
----------------------------------------------------------------
to newli()
只能选择一个被选中的,不然无法连动吧....
看xml的价值和精简程度加分
<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>