本帖最后由 heavilyarmed 于 2009-08-02 21:28:40 编辑

解决方案 »

  1.   

    可以做到的,你先把html贴出来.
      

  2.   

    真不好意思,是用out.println()打印的。
    下面是产生的复选框out.println("<table>");
      out.println("<tr>");
      out.println("<td>");
      out.println("<input type='checkbox' name='checkboxfangan' checked='checked' onclick=\"xuanze("+"this,"+paysyscalprj.getPrjid() +" )\" >");
      out.println("<a href=\"javascript:xianshiceng('"+paysyscalprj.getPrjid()+"')\" >");
      out.println("<span style=\"font-size='12'\" >");
      out.println(paysyscalprj.getPrjName());
      out.println("</span>");
      out.println("</a>");
      out.println("</td>");
      out.println("</tr>"); 
      out.println("</table>"); 下面是产生的层out.println("<div id='"+paysyscalprj.getPrjid() +"' style='overflow:auto; position:absolute; width:529px; height:169px; left: 203px; top: 195px;");
    out.println("background-color:#F00;");
    out.println(" z-index="+(1000-i)+" ' >");
    //创建table
    out.println("<table border='1' width='60%' >");
    out.println("<tr width='60%'  > <td> 公式名称 </td> </tr> ");
    //获得公式所在集合,开始循环遍历公式
    Object objectgongshijihe=request.getAttribute("gongshilist"+i);
    //如果公式不为空
    if(objectgongshijihe!=null)
    {
    //进行类型转换
    List gongshiList=(List)objectgongshijihe;
    java.lang.System.out.println("公式个数是:"+gongshiList.size());
    for(int j=0;j<gongshiList.size();j++)
    {
    PaySysScript paySysScript=(PaySysScript)gongshiList.get(j);
    out.println("<tr>");
    out.println("<td>");
    //添加复选框
    out.println("<input type='checkbox' checked='checked' name='checkboxgongshi' value='"+paySysScript.getFormSql()+"' >");
    out.println("<span style=\"font-size='12'\" >");
    out.println(paySysScript.getFldCaption());
    out.println("</span>");
    java.lang.System.out.println("公式的描述是:"+paySysScript.getFldCaption());
    out.println("</td>");
    out.println("</tr>");
    }
    }
    //结束table
    out.println("</table>");
    //结束层
    out.println("</div>");
      

  3.   

    你的这个html,我没法看,所以自己写个,你参考:
     <body>
     <input type="checkbox" onclick="javascript:SelAll(true)"    />全选
    <input type="checkbox" onclick="javascript:SelAll(false)"    />全不选
      
     
      <input type="checkbox"   name="money"  id="aaa" />
       <input type="checkbox"   name="money"  id="abc" /> 
         <input type="checkbox"   name="money"  id="123" /> 
        
    </body>
    </html><script>
     
         function SelAll(bsel)
        {
              var chks = document.getElementsByName("money");
              
              for(var i = 0 ;i<chks.length;i++)
              {
                 chks[i].checked = bsel;
              }
        } 
    </script>
      

  4.   

    层呢,两层内的checkbox名字要相同的,要控制层下的checkbox全选和全不选
      

  5.   

    不管在哪个层document.getElementsByName都能取到.
      

  6.   

    比如只让  studiv 的所有checkbox的全选  而不影响teadiv的checkbox的任何东西
      

  7.   

    那你可以使用studiv的getElementsByTagName("INPUT")来循环
    不过要判断一个chks[i].type == "checkbox"
      

  8.   

    你刚才不是说只要管studiv吗?
      

  9.   

    都要管就用3楼的代码,所有name="money"的checkbox都受控制.
      

  10.   


    这会把所有的改掉,
    我要做到
     A(复选框)    只控制studiv的全选和全不选
     B(复选框)    只控制teadiv的全选和全不选
      

  11.   

    A  选中  则 studiv内的所有复选框全选    再点击  studiv内的所有复选框全不选B  选中  则 teadiv内的所有复选框全选    再点击  teadiv内的所有复选框全不选
      

  12.   


    这不会把所有的input都弄过来  A  B  也是复选框的
    能不能让A  只控制studiv的复选框呢
      

  13.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script src="client/jquery.js"></script>
    </head>
    <body>
       
     <div id="div1">
        <input type="checkbox" onclick="javascript:SelAll(this)"    />全选 
        <input type="checkbox"   name="money"  id="aaa" />
       <input type="checkbox"   name="money"  id="abc" /> 
       <input type="checkbox"   name="money"  id="123" /> 
     </div>
       <div id="div2">
        <input type="checkbox" onclick="javascript:SelAll(this)"    />全选 
        <input type="checkbox"   name="money"  id="Checkbox1" />
       <input type="checkbox"   name="money"  id="Checkbox2" /> 
       <input type="checkbox"   name="money"  id="Checkbox3" /> 
     </div>
      
        
    </body>
    </html><script>
     
         function SelAll(chk)
        {
              var chks = chk.parentNode.getElementsByTagName("INPUT");
              
              for(var i = 0 ;i<chks.length;i++)
              {
                    if(chks[i].type == "checkbox" && chks[i]!=chk)
                   { 
                         chks[i].checked = chk.checked;
                   }
              }
        } 
    </script>
      

  14.   

    A(复选框)  B(复选框)  在我这里必须要在   condiv内
    chk.parentNode 用不了
      

  15.   

    用用您的东西<body>
    <div id="condiv" >
    A  <input type="checkbox" onclick=""   />
    B  <input type="checkbox"  onclick=""  />
    </div>
      
     <div id="div1">
        <input type="checkbox" onclick="javascript:SelAll(this)"    />全选 
        <input type="checkbox"   name="money"  id="aaa" />
       <input type="checkbox"   name="money"  id="abc" /> 
       <input type="checkbox"   name="money"  id="123" /> 
     </div>
       <div id="div2">
        <input type="checkbox" onclick="javascript:SelAll(this)"    />全选 
        <input type="checkbox"   name="money"  id="Checkbox1" />
       <input type="checkbox"   name="money"  id="Checkbox2" /> 
       <input type="checkbox"   name="money"  id="Checkbox3" /> 
     </div>
      
        
    </body>
      

  16.   


    <body>
    <div id="condiv" >
    A  <input type="checkbox" onclick=""   />
    B  <input type="checkbox"  onclick=""  />
    </div>
      
     <div id="div1">
        <input type="checkbox"   name="money"  id="aaa" />
       <input type="checkbox"   name="money"  id="abc" /> 
       <input type="checkbox"   name="money"  id="123" /> 
     </div>
       <div id="div2">
        <input type="checkbox"   name="money"  id="Checkbox1" />
       <input type="checkbox"   name="money"  id="Checkbox2" /> 
       <input type="checkbox"   name="money"  id="Checkbox3" /> 
     </div>
      
        
    </body>
      

  17.   

    div1和div2的id是不知道的?
      

  18.   

    如果div1和div2的id不知道,那他们的结构关系是不是固定的,即condiv后面就是div
    再后面就是div2,必须有个规则
      

  19.   

    有了规则第一个checkbox就控制他的上级div后面的那个div,另一个就控制他的上级div后面的第二个.
      

  20.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script src="client/jquery.js"></script>
    </head>
    <body>
     
    <div id="condiv" >
    A  <input type="checkbox" onclick="javascript:SetCheckBox(this,1)"   />
    B  <input type="checkbox" onclick="javascript:SetCheckBox(this,2)"   />
    </div>
      
     <div id="div1">
        <input type="checkbox"   name="money"  id="aaa" />
       <input type="checkbox"   name="money"  id="abc" /> 
       <input type="checkbox"   name="money"  id="123" /> 
     </div>
       <div id="div2">
        <input type="checkbox"   name="money"  id="Checkbox1" />
       <input type="checkbox"   name="money"  id="Checkbox2" /> 
       <input type="checkbox"   name="money"  id="Checkbox3" /> 
     </div>    
    </body>
    </html><script>
    function SetCheckBox(chk,type)
    {
        var div = GetNextDiv(chk.parentNode);
        if(type == 2) div = GetNextDiv(div); 
         var chks = div.getElementsByTagName("INPUT");
              
          for(var i = 0 ;i<chks.length;i++)
          {
                if(chks[i].type == "checkbox" && chks[i]!=chk)
               { 
                     chks[i].checked = chk.checked;
               }
          }} function GetNextDiv(obj)
    {
        var div = obj.nextSibling;
        while(div.tagName==null ||div.tagName !="DIV")
       {
         div = div.nextSibling;
         if(div == null) return; 
       }  
       return div;
    }
     
         
    </script>[/code]
      

  21.   

    不一定是两个层,层的个数不固定  
    if(type == 2) div = GetNextDiv(div); 
    这个是不是·······
      

  22.   


    if(type == 2)能判断多个吗?还是要再写if(type == 3)····
      

  23.   

    如果你不想写那就是if(type>1)
    {
       for(var i = 0;i<type-1i++)
      {
          div = GetNextDiv(div); 
    }
    }
      

  24.   

    不明白您的意思, $("divid  checkbox  ")用纯javascript代码怎么表示
      

  25.   

    jquery不是很熟,也许是获取某个div下的所有checkbox吧
    如果是这个功能就是8楼的代码