strut2 tree checkbox 复选框树例子

本文展示了一个复选框与树形结构结合的动态交互示例,通过JavaScript和Struts标签库实现,展示了如何在树节点被选择时更新树结构中的其他相关节点状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<%@page contentType="text/html;charset=GBK" %>

<%@ taglib prefix="s" uri="/struts-dojo-tags"%>
<html>
 <head>
  <title>Tree标签复选框例子</title>
  <s:head/>
 </head>
 <body>
  <script type="text/javascript">
   function treeNodeSelected(message)
   {
       var divDisplay = dojo.byId("displayIt");
       //message.source就是发出select事件的TreeNode对象
       var node = message.source;
       divDisplay.innerHTML = node.widgetId + " : " +node.children.length;     
       var i=0;
       var xml;
       for(i=0;i<node.children.length;i++){
        if(node.widgetId=='parentId_root'){
        xml='parentId';
        }else{
        xml=node.widgetId;
        }
         if(document.getElementById(xml+'box').checked){
          document.getElementById(node.children[i].widgetId+'box').checked=true;
         }else{
          document.getElementById(node.children[i].widgetId+'box').checked=false;
         }
      
          }
      };
      //为页面添加onload事件处理函数
      dojo.addOnLoad(function()
      {
       //得到Tree Widget的TreeSelector
       var selector = dojo.widget.byId("parentId").selector;
       //将treeNodeSelected方法绑定到selector对象的select事件上
       dojo.event.connect(selector,"select","treeNodeSelected");
      });
      
      
  </script>
  <div style="float:left; margin-right: 50px;">
   <s:tree label="<input type=checkbox name=inputcheckbox id=parentIdbox>程序员之家论坛" id="parentId"
    templateCssPath="/struts/tree.css"
    showRootGrid="true" showGrid="true" childCollectionProperty="children" gridIconSrcC="">
    
    <s:treenode label="<input type=checkbox name=inputcheckbox id=child1Idbox>Windows编程系列" id="child1Id" >
     <s:treenode  label="<input type=checkbox name=inputcheckbox id=grandchild1Idbox>C/C++" id="grandchild1Id" />
     <s:treenode  label="<input type=checkbox name=inputcheckbox id=grandchild2Idbox>Visual Basic" id="grandchild2Id" />
     <s:treenode  label="<input type=checkbox name=inputcheckbox id=grandchild3Idbox>Visual C++" id="grandchild3Id" />
    </s:treenode>
    <s:treenode  label="<input type=checkbox name=inputcheckbox id=child2Idbox>Java Core" id="child2Id" />
    <s:treenode  label="<input type=checkbox name=inputcheckbox id=child4Idbox >Java Web开发" id="child4Id" />
    <s:treenode  label="<input type=checkbox name=inputcheckbox id=child5Idbox>开源框架" id="child5Id">
     <s:treenode  label="<input type=checkbox name=inputcheckbox id=gChild1Idbox>Struts 2" id="gChild1Id" />
     <s:treenode  label="<input type=checkbox name=inputcheckbox id=gChild2Idbox>Hibernate" id="gChild2Id" />
     <s:treenode  label="<input type=checkbox name=inputcheckbox id=gChild3Idbox>Spring" id="gChild3Id" />
     
     
     <s:treenode  label="<input type=checkbox name=inputcheckbox id=child51Idbox>xxx" id="child51Id">
     <s:treenode  label="<input type=checkbox name=inputcheckbox id=gChild11Idbox>fff" id="gChild11Id" />
     <s:treenode  label="<input type=checkbox name=inputcheckbox id=gChild21Idbox>fffff" id="gChild21Id" />
     <s:treenode  label="<input type=checkbox name=inputcheckbox id=gChild31Idbox>Ss" id="gChild31Id" />
     
    </s:treenode>
    </s:treenode>
   </s:tree>
  </div>
  <div id="displayIt"></div>
 </body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值