Box" id="all">全选
Box" id="reverse">反选
Boxlist name="resUuids" list="resList" listKey="uuid" listValue="name">
获取当前组件的状态
//$(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);
var flag = $(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操作实现对每个组件的操作
var flag = $(this).attr("checked");
$(this).attr("checked",!(flag =="checked"));
});
checkSelect();
});
//绑定组件
$("[name=resUuids]").click(function(){
//将全选的状态设置为基于所有组件的综合状态值
checkSelect();
});
function checkSelect(){
var allFlag = true;
$("[name=resUuids]").each(function(){
var flag = $(this).attr("checked") == "checked";
//&:位运算与 &&:逻辑与
allFlag = allFlag && flag;
});
$("#all").attr("checked",allFlag);
}
});
以上所述是小编给大家介绍的jQuery 全选 全不选 事件绑定的实现代码。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。
原文链接:https://www.f2er.com/jquery/42176.html