If at least one checkbox is checked, enable button

by secretgspot

HTML

<h1>Button should be enabled if at least one checkbox is checked</h1>

<form>
    <div>
        <input type="checkbox" name="option-1" id="option-1"> <label for="option-1">Option 1</label>
    </div>
    <div>
        <input type="checkbox" name="option-2" id="option-2"> <label for="option-2">Option 2</label>
    </div>
    <div>
        <input type="checkbox" name="option-3" id="option-3"> <label for="option-3">Option 3</label>
    </div>
    <div>
        <input type="checkbox" name="option-4" id="option-4"> <label for="option-4">Option 4</label>
    </div>
    <div>
        <input type="checkbox" name="option-5" id="option-5"> <label for="option-5">Option 5</label>
    </div>
    
    <div>
        <input type="submit" value="Do thing" disabled>
    </div>
</form>

JavaScript

var checkboxes = $("input[type='checkbox']"),
    submitButt = $("input[type='submit']");

checkboxes.change(function() {
    
    var isOneChecked = false;

    checkboxes.each(function() {
        if ($(this).attr("checked")) {
            isOneChecked = true;
        }
    });
    
    if (isOneChecked) {
        submitButt.removeAttr("disabled");
    } else {
        submitButt.attr("disabled", true);
    }

});