代码重复的地方有点多
selectAll.click(function(){ if (selectAll.prop('checked')){ langs.prop('checked',true) deselectAllLabel.show() selectAllLabel.hide() } else { langs.prop('checked',false) selectAllLabel.show() deselectAllLabel.hide() } }) invertSelect.click(function(){ if (selectAll.prop('checked')){ selectAll.prop('checked',false) langs.prop('checked',false) deselectAllLabel.hide() selectAllLabel.show() } else if (0 === langs.filter(function(){ return $(this).prop('checked') }).length){ selectAll.prop('checked',true) langs.prop('checked',true) deselectAllLabel.show() selectAllLabel.hide() } else{ langs.map(function(){ if ($(this).prop('checked')){ $(this).prop('checked',false) } else{ $(this).prop('checked',true) if (langs.length === langs.filter(function(){ return $(this).prop('checked') })){ selectAll.prop('checked',true) selectAllLabel.hide() deselectAllLabel.show() } } }) } }) langs.map(function(){ $(this).click(function(){ if (selectAll.prop('checked')){ selectAll.prop('checked',false) deselectAllLabel.hide() selectAll.show() $(this).prop('checked',fasle) } else{ if (langs.length === langs.filter(function(){ return $(this).prop('checked') } ).length){ selectAll.prop('checked',true) selectAllLabel.hide() deselectAllLabel.show() } } }) })
评论区用change事件监控是否全选的思路好棒啊
一次把反选和langs--全选--全不选的反应机制都写好了
回头看我的,可读性不是一般的差
Sign in to make a reply
alienation
代码重复的地方有点多