Yzzzzzzzzz

 

实现的效果    1.当点击1时,2、3也选中

         2.当1为不选中时,2、3也不被选中

         3.点击1后,2、3全选,然后将2设为不选中,1也不被选中。   当再次将2选中时,1也被选中

 

HTML      <input type="checkbox" name="allCheckBox" />

     <br/>

      <input type="checkbox" name="checkbox" />

       <input type="checkbox" name="checkbox" />

      <input type="checkbox" name="checkbox" />

JS

  

//判断全选 或者 全不选
$(\'input[name="allCheckBox"]\').click(function(){
  if($(this).is(\':checked\')){
    $(\'input[name="checkbox"]\').each(function(){
      //此处如果用attr,会出现第三次失效的情况
      $(this).prop("checked",true);
    });
  }else{
    $(\'input[name="checkbox"]\').each(function(){
      $(this).removeAttr("checked",false);
    });
  }
});

//判断当全选时 若有一个不选 全选按钮为不选状态
$(\'input[name="checkbox"]\').click(function(){
  var checkedLength = $("input[name=\'checkbox\']:checked").length;
  var checkLength = $("input[name=\'checkbox\']").length;
  if(checkLength == checkedLength){
      $("input[name=\'allCheckBox\']").prop("checked",true);
      return true;
    }else{
      $("input[name=\'allCheckBox\']").prop("checked",false);
      return true;
    }
})

 

分类:

技术点:

相关文章: