$(document).ready(function() { $(".disaster-checkbox").change(function () { // if all-disasters checked, uncheck all others (save state checkboxes) if ($(this).val() == "all-disasters" && $(this).is(":checked")) { $("#all-disasters-checkbox").prop("checked",false); $(".disaster-checkbox").each(function(){ $(this).data("restore", $(this).is(":checked")); }); $(".disaster-checkbox").removeAttr("checked"); $("#all-disasters-checkbox").prop("checked",true); // if all-disasters unchecked, restore what was checked } else if ($(this).val() == "all-disasters" && !$(this).is(":checked")) { $(".disaster-checkbox").each(function(){ $(this).prop("checked",$(this).data("restore")); }); // if nothing is selected, select each disaster if (!$(".disaster-checkbox").is(":checked")) $(".disaster-checkbox").each(function(){ $(this).prop("checked",true); }); $("#all-disasters-checkbox").prop("checked",false); // if anything other than all-disasters is checked, uncheck all-disasters (unless nothing is checked) } else if ($(this).val() != "all-disasters") { var uncheck = false; $(".disaster-checkbox").each(function(){ if ($(this).is(":checked") && $(this).val() != "all-disasters") uncheck = true; }); if (uncheck) $("#all-disasters-checkbox").prop("checked",false); else $("#all-disasters-checkbox").prop("checked",true); } }); });