本帖最后由 xiaoming00x 于 2013-08-27 15:25:39 编辑

解决方案 »

  1.   


      <input type="checkbox" name="yp"  value="药品" onclick="check(this)" />药品 <br/>
      <input type="checkbox" name="c1" value="处方药"   />处方药 <br/>
      <input type="checkbox" name="c1" value="非处方药"   />非处方药 <br/>
     </body>
    <script  >
      var cs=document.getElementsByName('c1');
      function check(el){
      for(var i=0;i<cs.length;i++) cs[i].checked=el.checked
      }
    </script>
      

  2.   


    这个我也实现了
    下面两个我指能实现一个:
    其中一个子类为非选中状态的话,总类为非选中状态
    一个子类选中,另一个没选中,点击总类,全部选中一个实现后另一个就实现不了,貌似有点矛盾
    是有点乱,按你的意思
    药品 
      —>处方药
         —> 非处方药按这规则"点击总类 两个子类选中 , 其中一个子类为非选中状态的话,总类为非选中状态",
    并且你子级就一个, 
    最终 效果是,点任一个,要么全选 要么全非选
      

  3.   


    没说错,是这个意思药品为一个总类  处方药和非处方药是子类点击总类 两个子类选中其中一个子类为非选中状态的话,总类为非选中状态三个都选中时,选中其中一个子类(A=处方药),怎么会选中另一个子类(B=非处方药),而总类和选中的子类为非选中状态三个都选中  yp[0].checked  yp[1].checked  yp[2].checkedif(yp[2].checked  ){
        
       if(!yp[1].checked){
       yp[0].checked=false;  
       }
    }
      

  4.   

    是这个意思吗?随手敲得,没测试:<input type="checkbox" id="zl" name="yp"  value="药品" onclick="check(this)" />药品 <br/>
    <input type="checkbox" id="cf" name="yp" value="处方药"  onclick="check(this)" />处方药 <br/>
    <input type="checkbox" id="fcf" name="yp" value="非处方药" onclick="check(this)"  />非处方药 <br/>
    </body>
    <script>
    var chk=document.getElementsByName('yp');
    function check(el){
      if(el.id=="zl"){
        for(var i=0;i<chk.length;i++){  chk[i].checked=el.checked; }
      }
      else{
        if(chk[0].checked) chk[0].checked=false;
      }
    }
    </script>
      

  5.   

    <script>
    var chk=document.getElementsByName('yp');
    function check(el){
      if(el.id=="zl"){
        for(var i=0;i<chk.length;i++){  chk[i].checked=el.checked; }
      }
      else{
         chk[0].checked=chk[1].checked&&chk[2].checked;
      }
    }
    </script>
      

  6.   


    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    </head>
    <body>
      <input type="checkbox" id="yp" value="药品" />药品 <br/>
     <div>
    <input type="checkbox" id="cf" name="yp" value="处方药"  />处方药 <br/>
    <input type="checkbox" id="fcf" name="yp" value="非处方药"  />非处方药 <br/>
    </div>
    </body>
    </html>
    <!-- 引用 jquery-->
    <script type="text/javascript" src="http://img18.hbjob.cn/js/jquery/jquery-1.7.1.min.js"></script>
    <script type="text/javascript">
        $("#yp").click(function () {
            $("input:[name='yp']").prop("checked", this.checked);
        });
        $("input:[name='yp']").click(function () {
            $("#yp").prop("checked", $("input:[name='yp']:checked").length == $("input:[name='yp']").length);
        });
    </script>用的Jquery
      

  7.   

    <input type="checkbox" name="yp"  value="2"/>药品 <br/>
    <input type="checkbox" name="yp" value="1"/>处方药 <br/>
    <input type="checkbox" name="yp" value="1" />非处方药 <br/>
    <script  >
    var obj=document.getElementsByName("yp");
        for(var i=0;i<obj.length;i++){
            obj[i].onclick=function(){
                if(this.value==2){
                    obj[1].checked=obj[2].checked=this.checked;
                }else{
                    obj[0].checked=this.checked;
                    if(!obj[1].checked||!obj[2].checked)
                    obj[0].checked=false;
                }
            }
        }
    </script>