bootstrap 中的 iCheck 全选反选功能的实现


喜欢bootstrap 风格的同学应该知道,iCheck的样式还是很好看的。

官网: http://www.bootcss.com/p/icheck/

 

进入正题,iCheck提供了一些方法,可以进行全选和反选的判定。

  ifChecked:输入框的状态变为 checked

  ifUnchecked:checked 状态被移除

  ifChanged:输入框的 checked 或 disabled 状态改变了

 

    var checkAll =$('input.all');  //全选的input
    var checkboxs =$('input.check'); //所有单选的input

    checkAll.on('ifChecked ifUnchecked',function(event){
      if(event.type == 'ifChecked'){
        checkboxs.iCheck('check');
      }else{
        checkboxs.iCheck('uncheck');
      }
    });

    checkboxs.on('ifChanged',function(event){
      if(checkboxs.filter(':checked').length == checkboxs.length){
        checkAll.prop('checked',true);
      }else{
        checkAll.prop('checked',false);
      }
      checkAll.iCheck('update');
    })

 

PS:其实本人是很讨厌bootstrap的,奈何公司。。。;

   之前不知道怎么写,看了各个网站,发现他们判断状态改变是这样写的

removeProp()这个方法我认为不太好,会出现无法移除的bug,说到这里就有点生气了,你说你分享你的知识的时候都不测试的吗???昂!

removeProp()用于移除由 prop() 添加的属性,不要使用该方法来移除诸如 style、id 或 checked 之类的 HTML 属性。

可以用removeAttr(),或者 prop('checked',false)替代;

 

*removeAttr() 这个好像也是有点问题的,自行试试。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM