当前位置: 首页 > 图文教程 > 网络编程 > Javascript > TreeView节点互斥,autopostback=false的方法

Javascript
实现表格中行点击时的渐扩效果!
多图展示滑动过渡效果
弹出自适应图片大小的窗口弹出窗口根据图片大小,自动判断高和宽。
拖动Html元素集合 Drag and Drop any item
脚本吧 - 幻宇工作室用到js,超强推荐base.js
使用透明叠加法美化文件上传界面
JavaScript高级程序设计
对象的类型:本地对象(1)
如何实现表格中行点击时的渐扩效果!
使用button标签,实现三态图片按钮
根据分辩率调用不同的CSS.
Web版彷 Visual Studio 2003 颜色选择器
JS中简单的实现像C#中using功能(有源码下载)
js之WEB开发调试利器:Firebug 下载
jQuery中文入门指南,翻译加实例,jQuery的起点教程
jQuery 1.0.4 - New Wave Javascript(js源文件)
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
换肤测试程序js脚本
xWin之JS版(2-26更新)
共享自己写一个框架DreamScript

Javascript 中的 TreeView节点互斥,autopostback=false的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 218 ::
收藏到网摘: n/a

 

问题描述:frameset中的TreeView,里面就四个节点,想打开一个后,关闭其它三个节点。
开始是在TreeView1_Expand里写,倒也能用,可要设置autopostback为true,刷新时很难看,就在网上找资料
相关主题如下:
==================
1. "展开时不提交,改变选择节点时才提交"
2. "使TreeView展开一个节点后自动缩回其他所有的已经展开的节点,就是说同一时间内只有一个展开节点"
3. "TreeView展开无闪烁的解决方法"
4. "TreeView专题讨论" 
5. "TreeView JavaScript控制方法研究"
==================
上面有个javascript角本写的不错,可试了半天老是出错。
于是自已写了一个。


<script  language="JavaScript"> 
  function  initTree()
  { 
    var tree = document.all["TreeView1"];
    tree.attachEvent("onexpand", SelectedIndexChange); //追加个事件
  }
  function SelectedIndexChange()
  {
    var temp = this.TreeView1.clickedNodeIndex;
    var nodes = new Array();
    nodes = this.TreeView1.getChildren();
    for(i=0;i<nodes.length;i++)
    {
      if(i!=temp)
      {
        if(i<10)
   nodeIndex = "0"+i;//我这只用到了四个节点的,十个以上的自已试试看吧。
 this.TreeView1.getTreeNode(nodeIndex).setAttribute('expanded','false');
      }
    }
}
</script>
最后在body里写一个
<body onload="initTree();">
就可以用了。

当然也可以像"TreeView专题讨论"中把javascript写在page_load里,不过那样就很麻烦了,也很容易出错儿。