posts - 9,  comments - 75,  trackbacks - 0

首先,分析一下TreeView在客户端生成的html。TreeView中的checkbox的id是TreeView的id + n + 数字 + CheckBox,其下级的checkbox集合则是包含在将该checkbox的id中的CheckBox替换成Nodes的div中所有的checkbox集合。而其上级checkbox的id是将该checkbox的父div的id中的Nodes替换成CheckBox。先看截图:

用法如下:

CascadingSelect : function(container, node, target)
当点击checkbox时调用这个方法,其中参数
container:容器的ID,如果使用母版页请用ClientID
node:包括key(关键字属性,一般使用checkbox的title属性),type(关键字类型,设置number表示数字,否则表示字符)
target:存放所选checkbox的控件,一般使用HiddenField

CascadingRefresh : function(container, node,  target)

PostBack时刷新checkbox的选择状态,参数同上
示例如下:

<script type="text/javascript">
    $(
        
function()
        
{
            $().CascadingRefresh(
"<%= this.TreeView1.ClientID %>"{key: "title", type: ""}"<%= this.ID.ClientID %>");
            
            $(
"input[@type='checkbox']", $("#<%= this.TreeView1.ClientID %>")).click(
                
function()
                
{
                    $(
this).CascadingSelect("<%= this.TreeView1.ClientID %>"{key: "title", type: ""}"<%= this.ID.ClientID %>");
                }
);
        }
);
    
</script>

    
<asp:TreeView ID="TreeView1" runat="server">
        
<Nodes>
            
<asp:TreeNode ShowCheckBox="True" Text="1" Value="1">
                
<asp:TreeNode ShowCheckBox="True" SelectAction="None" Text="1.1" Value="1.1">
                    
<asp:TreeNode ShowCheckBox="True" Text="1.1.1" Value="1.1.1"></asp:TreeNode>
                    
<asp:TreeNode ShowCheckBox="True" Text="1.1.2" Value="1.1.2"></asp:TreeNode>
                
</asp:TreeNode>
                
<asp:TreeNode ShowCheckBox="True" Text="1.2" Value="1.2"></asp:TreeNode>
                
<asp:TreeNode ShowCheckBox="False" Text="1.3" Value="1.3">
                    
<asp:TreeNode ShowCheckBox="True" Text="1.3.1" Value="1.3.1"></asp:TreeNode>
                    
<asp:TreeNode ShowCheckBox="True" Text="1.3.2" Value="1.3.2"></asp:TreeNode>
                
</asp:TreeNode>
            
</asp:TreeNode>
        
</Nodes>
    
</asp:TreeView>

/Files/Zane/MultiSelect_20070618.rar

posted on 2007-06-18 09:21 Spring.Cheung 阅读(2749) 评论(19)  编辑 收藏 网摘

FeedBack:
2007-06-18 09:24 | Linxi [未注册用户]
实用。
  回复  引用    
2007-06-18 10:31 | 高海东      
这个太有用了
  回复  引用  查看    
2007-06-18 11:44 | 中国职场在线 [未注册用户]
太实用了..
  回复  引用    
2007-06-18 12:43 | kamui [未注册用户]
支持!!
  回复  引用    
2007-06-18 13:36 | 高海东      
请问CheckBox.js 是您写的吗 楼主?
  回复  引用  查看    
#6楼 [楼主]
2007-06-18 13:50 | 西门子乌      
@高海东:是我写的啊。

  回复  引用  查看    
2007-06-18 13:53 | koy [未注册用户]
真牛,,活写活用jquery!
  回复  引用    
#8楼 [楼主]
2007-06-18 13:53 | 西门子乌      
我还写了一篇GridView,DataList,Repeater多选的文章,把两个功能都放到CheckBox.js中了。
  回复  引用  查看    
2007-06-18 13:57 | 上海数据恢复 [未注册用户]
看来楼主
是多年程序员了啊
经验很丰富啊
我们这些小弟学习了啊
哈哈!!!
  回复  引用    
2007-06-18 13:58 | 硬盘数据恢复 [未注册用户]
哇塞
好棒啊
学以致用
小妹收藏了
  回复  引用    
2007-06-18 15:22 | 高海东      
期待楼主更多的文章
  回复  引用  查看    
2007-06-18 20:09 | 布尔      
js用于树型结构级联选择
我以前也写了一个,呵呵
http://www.cnblogs.com/boolean/archive/2007/01/10/616611.html
  回复  引用  查看    
2007-06-18 20:36 | 高海东      
@布尔
你的那个不能和楼主的比啊 还是楼主的功能强大,不过感觉速度有点慢
  回复  引用  查看    
2007-06-19 08:14 | 布尔      
其实就是个样式的问题而已
  回复  引用  查看    
#15楼 [楼主]
2007-06-19 09:11 | 西门子乌      
PostBack后可以选择保持现有的checkbox状态(包括三态),也可以清除checkbox的状态。保持或清除checkbox的状态依赖于HiddenField的值。
  回复  引用  查看    
2007-06-19 12:35 | 布尔      
这年头还PostBack呢?还服务器控件呢?都ajax了
  回复  引用  查看    
2007-06-19 12:46 | 布尔      
三态只是indeterminate而已
  回复  引用  查看    
2007-06-26 12:14 | 琢 [未注册用户]
师傅写的 顶~~~起来
  回复  引用    
2008-09-05 14:57 | liuys [未注册用户]
我选一个中间节点,则他的子和父亲节点都被选中,但是记录下来的值只有该节点和他的子节点,父亲节点值没有被记录。
如果希望父亲节点也被记录到this.ID里,怎么办?
  回复  引用    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-06-18 09:25 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接:
 
姓名: 张春鹏
职业: .Net架构师
毕业于: 南京工业大学
目前居住于: 中国北京

版权声明:
本Blog内的所有文章如非特别注明,版权均归作者个人所有,任何外部引用或摘抄请注明原文地址,未经作者授权不得用于任何以营利目的的行为,谢谢合作!

<2008年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

与我联系

搜索

 

常用链接

留言簿(2)

我的标签

随笔档案

积分与排名

  • 积分 - 21310
  • 排名 - 2121

最新评论

阅读排行榜

评论排行榜