一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

jQuery 全选 全不选 事件绑定的实现代码

时间:2017-03-04 编辑:简简单单 来源:一聚教程网

$(function(){

//全选

$("#all").click(function(){

//将下面所有组件全部选中

//$("[name=resUuids]")  是多个组件,整体是个对象数组

//$("[name=resUuids]").attr("checked","checked");

//先获取当前组件的状态

//$(this).attr("checked")

//将所有组件设置为对应状态

//$("[name=resUuids]").attr("checked",$(this).attr("checked"));

//$(this).attr("checked")获取的值究竟是什么

//alert($(this).attr("checked"));    //undefined

//$("[name=resUuids]").attr("checked","undefined");

//js语法规则,除了false,FALSE,"false","FALSE",0五个值之外的所有值,认定为true

//$("[name=resUuids]").attr("checked",false);

varflag = $(this).attr("checked");

$("[name=resUuids]").attr("checked",flag =="checked");

});

//反选

    $("#reverse").click(function(){

      //将所有组件的状态切换成原始状态的反状态

      //$("[name=resUuids]").attr("checked",!($("[name=resUuids]").attr("checked")=="checked"));

      //当选择器选中的组件是多个时,获取组件的任何数据都是对第一个组件进行操作

      //alert(!($("[name=resUuids]").attr("checked")=="checked"));

      //对每个组件进行迭代,让其操作状态为对应组件的原始状态的反状态

      $("[name=resUuids]").each(function(){

        //使用each操作实现对每个组件的操作

        varflag = $(this).attr("checked");

        $(this).attr("checked", !(flag =="checked"));

      });

      checkSelect();

    });

//绑定组件

    $("[name=resUuids]").click(function(){

      //将全选的状态设置为基于所有组件的综合状态值

      checkSelect();

    });

    functioncheckSelect(){

      varallFlag =true;

      $("[name=resUuids]").each(function(){

        varflag = $(this).attr("checked") =="checked";

        //&:位运算与   &&:逻辑与

        allFlag = allFlag && flag;

      });

      $("#all").attr("checked",allFlag);

    }

  });

 代码如下 复制代码

全选     

反选

热门栏目