自己写的树形checkbox

<%@ page language="java" pageEncoding="UTF-8"%>
<%@page import="com.test.bean.SampsationDao"%>
<%@page import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://"
   + request.getServerName() + ":" + request.getServerPort()
   + path + "/";
 //DataBean dataBean = new DataBean();
 //session.setAttribute("sheng", dataBean.getSheng());
 SampsationDao smpdao = new SampsationDao();
 String sqlDname = "select distinct dname from gil.sampsation  group by dname";
 List<String> dnames = null;
 dnames=smpdao.getAreaSheng(sqlDname);
 if (dnames.size() > 0) {
  session.setAttribute("sheng", dnames);
 }
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <base href="<%=basePath%>">
  <title>My JSF 'myself.jsp' starting page</title>
  <style type="text/css">
#nav {
 line-height: 20px;
 list-style-type: none;
 margin-top: 5px;
}

#nav li {
 line-height: 20px;
 list-style-type: none;
 margin-top: 5px;
}
</style>
  <script type="text/javascript">
     
      this.a=new String('');
      //expend/ close images
      function updataImg(ids,names)
      {       
       var charlder=document.getElementById(ids);      
        if(charlder.style.display=='none')
        {
          names.src="<%=path%>/img/minus4.gif";
        
          charlder.style.display='block';
        
        }else
        {
       
         names.src="<%=path%>/img/plus.gif";
          charlder.style.display='none';
        }
      }
       //select checkbox
      function selectCheckbox(obj,childname)
      {              
      
       if(obj.checked)
       {  
         
          //褰撶渷琚€変腑鏃?鍘夸篃閫変腑
           
            if(document.all(childname).length)
            {
               
               for(var i = 0; i < document.all(childname).length; i++)
                  {                    
                     var text=childname+[i+1];                  
                     document.getElementById(text).checked=true;                
                  }
             }
             if(document.all(childname).length==undefined)
             {
               var text=childname+1;
               document.getElementById(text).checked=true;
             }
                         
       }else
       {
        //褰撶渷琚彇娑堟椂锛屽幙涔熷彇娑?
         if(document.all(childname).length)
            {
             
               for(var i = 0; i < document.all(childname).length; i++)
                  {                    
                      var text=childname+[i+1];
                     document.getElementById(text).checked=false;             
                  }
             }
            if(document.all(childname).length==undefined)
             {
               var text=childname+1;
               document.getElementById(text).checked=false;
             }
        }      
    //   alert(a);
      }
     
     
      //if image expends
       function updataImg2(ids,names,checkid,childname)
      {   
        var checkboxs=document.getElementById(checkid);   
        var charlder=document.getElementById(ids);      
        if(charlder.style.display=='none')
        { 
          //alert('ddd');
          if(checkboxs.checked)
          {
           //褰撶渷琚€変腑鏃?鍘夸篃閫変腑
            if(document.all(childname).length)
            {
               
               for(var i = 0; i < document.all(childname).length; i++)
                  {                    
                     var text=childname+[i+1];
                    // alert(text);
                     document.getElementById(text).checked=true;                
                  }
                  //if node eq 1
                  if(document.all(childname).length==undefined)
                 {
                  var text=childname+1;
                 document.getElementById(text).checked=true;
                }
             }
          }          
          names.src="<%=path%>/img/minus4.gif";
        
          charlder.style.display='block';
        
        }else
        {
       
         names.src="<%=path%>/img/plus.gif";
          charlder.style.display='none';
        }
      }
     
      //鍏ㄩ€?
     function  onTotalSelect(b)
     {
        
      var tmpels = document.getElementsByTagName("input");
   
         for(a=0;a<tmpels.length;a++){
      
           if(tmpels[a].type=='checkbox'){
            tmpels[a].checked=b;
         }
          }
     
     }
      //鍙栧€?
    function getValues()
    {
     
      var tmpels = document.getElementsByTagName("input");      
       a="";
        for(i=0;i<tmpels.length;i++){
            if(tmpels[i].type=="checkbox"&& tmpels[i].checked){           
            a=a+tmpels[i].value;
            }
          }
          alert(a);
    }
      </script>


 </head>

 <body>

  tree check box !!!!!!!!
  <br>
  <div id="quyu">
   <ul id="nav">   
   
    <c:forEach items="#{sheng}" var="s" varStatus="id">
     <li>
      <img name="${id.count}" src="<%=path%>/img/plus.gif"
       οnclick="updataImg('xian${id.count}',this);"/>
      <input type="checkbox" id="${id.count}" value="${s}" οnclick="selectCheckbox(this,'${id.count}xian');">
      ${s}<Br>
      <ul id="xian${id.count}" style="display: none">
       <%
        String shiname = pageContext.getAttribute("s").toString();
        System.out.println(shiname);
      
         String sqlCname = "select distinct cname from gil.sampsation where dname='"
           + shiname + "' and cname !='0' group by cname";
         List<String> cnames = null;
         cnames=smpdao.getAreaSheng(sqlCname);
         System.out.println("dddddddddddddd");
         if (cnames.size() > 0) {
          session.setAttribute("xian", cnames);
         }else
         {
          session.setAttribute("xian", null);
         }
       %>
       <c:forEach items="${xian}" var="xian" varStatus="xid">
        <li>
         <img name="x${id.count}${xid.count}" src="<%=path%>/img/plus.gif"
          οnclick="updataImg2('xiang${id.count}${xid.count}',this,'${id.count}xian${xid.count}','${id.count}${xid.count}xiang');"></img>
         <input type="checkbox" name="${id.count}xian" id="${id.count}xian${xid.count}" value="${xian}" οnclick="selectCheckbox(this,'${id.count}${xid.count}xiang');">
         ${xian}<br>  
         <ul id="xiang${id.count}${xid.count}" style="display: none">
          <%        
                      String shi= pageContext.getAttribute("s").toString();
                   String xianname = pageContext.getAttribute("xian").toString();
             String sqlXname = "select distinct xname from gil.sampsation where dname='"
               +shi+"' and cname='"
               +xianname+ "' and xname !='0' group by xname";
             List<String> xnames = smpdao.getAreaSheng(sqlXname);
             if (xnames.size() > 0) {
              session.setAttribute("xiang", xnames);
             }else
                      {
                         session.setAttribute("xiang", null);
                     }
          %>
          <c:forEach items="${xiang}" var="xiang" varStatus="xiangid">
           <li>
            <img name="xiang${id.count}${xid.count}${xiangid.count}" src="<%=path%>/img/plus.gif"
             οnclick="updataImg2('soily${id.count}${xid.count}${xiangid.count}',this,'${id.count}${xid.count}xiang${xiangid.count}','${id.count}${xid.count}${xiangid.count}soily');"></img>
            <input type="checkbox" name="${id.count}${xid.count}xiang" id="${id.count}${xid.count}xiang${xiangid.count}"
             value="${xiang}" οnclick="selectCheckbox(this,'${id.count}${xid.count}${xiangid.count}soily');">
            ${xiang}
            <!--  <br>
            
            <ul id="soily${id.count}${xid.count}${xiangid.count}" style="display: none">-->
          <!--  <%        
                   //  /*  String shis= pageContext.getAttribute("s").toString();
                   //String xiannames = pageContext.getAttribute("xian").toString();
                //   String xiangname= pageContext.getAttribute("xiang").toString();
            // String sqlTryl = "select distinct soilyl from gil.sampsation where dname='"
                      // +shis+ "' and cname='"
                        //+xiannames+ "' and xname='"+xiangname+ "' and soilyl !='0' group by soilyl";
             //List<String> soilyls = smpdao.getAreaSheng(sqlTryl);
             //if (soilyls.size() > 0) {
             // session.setAttribute("soilyls", soilyls);
             //}*/
          %>-->
          <!--      <c:forEach items="${soilyls}" var="soily" varStatus="soilyid">
                <li>            
            <input type="checkbox" name='${id.count}${xid.count}${xiangid.count}soily' id="${id.count}${xid.count}${xiangid.count}soily${soilyid.count}"
             value="${soily}">
            ${soily}
               </li>
                   </c:forEach>
                  </ul> -->
           </li>           
                </c:forEach>
                </ul>     
        </li>
       </c:forEach>
      </ul>
     </li>
    </c:forEach>
   </ul>
   <input type="button" value="全选" οnclick="onTotalSelect(true);"/>
   <input type="button" value="全不选" οnclick="onTotalSelect(false);"/>
   <input type="button" value="取值" οnclick="getValues();">
  </div>
 </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值