// 全选 selectAll.click(function(){ var checked = $(this).prop("checked"); if(checked){ langs.each(function(){ $(this).prop("checked",true); selectAllLabel.hide(); deselectAllLabel.show(); }); } else { langs.each(function(){ $(this).prop("checked",false); selectAllLabel.show(); deselectAllLabel.hide(); }); } }); //每个checkbox检查change事件 //如果选中则检查是否要选中全选 //如果非选中,则要检测是否要取消全选 langs.change(function(){ var checked = $(this).prop("checked"); var allChecked = selectAll.prop("checked"); if(checked){ var flag = true; for(let i=0;i<langs.length;i++){ if(!langs.get(i).checked){flag = false;break;} } if(flag){ selectAll.prop("checked",true); selectAllLabel.hide(); deselectAllLabel.show(); } } else { if(allChecked){ selectAll.prop("checked",false); selectAllLabel.show(); deselectAllLabel.hide(); } } }); //绑定反选事件 //通过一个selectCount来统计反选后有多少个选中, //如果全部选中则修改 全选为全不选,并选中 //如果非全部选中则修改 为全选,取消选中 invertSelect.click(function(){ var selectCount = 0; for(let i=0;i<langs.length;i++){ langs.get(i).checked = !langs.get(i).checked; if(langs.get(i).checked) selectCount++; } if(selectCount==langs.length){ selectAll.prop("checked",true); selectAllLabel.hide(); deselectAllLabel.show(); } else { selectAll.prop("checked",false); selectAllLabel.show(); deselectAllLabel.hide(); } return false; });
Sign in to make a reply
XNOKIA