Stackoverflow Response: how can I set limit to checkbox selection using radio button values

http://stackoverflow.com/questions/16156088/how-can-i-set-limit-to-checkbox-selection-using-radio-button-values/16156544#16156544

by nobuts

HTML

<label><input type="radio" name="attending_days" value="2" checked />2 options</label>
<br>
    <label><input type="radio" name="attending_days" value="4" />3 options</label>
<br>
    <label><input type="radio" name="attending_days" value="6" />6 options</label>
<br>
<hr />
<div id="checkboxes">
    <label>
        <input type="checkbox" name="checkboxes" value="1" />1</label>
    <br />
    <label>
        <input type="checkbox" name="checkboxes" value="2" />2</label>
    <br />
    <label>
        <input type="checkbox" name="checkboxes" value="3" />3</label>
    <br />
    <label>
        <input type="checkbox" name="checkboxes" value="4" />4</label>
    <br />
    <label>
        <input type="checkbox" name="checkboxes" value="5" />5</label>
    <br />
    <label>
        <input type="checkbox" name="checkboxes" value="6" />6</label>
    <br />
    <label>
        <input type="checkbox" name="checkboxes" value="7" />7</label>
    <br />
    <label>
        <input type="checkbox" name="checkboxes" value="8" />8</label>
    <br />
    <label>
        <input type="checkbox" name="checkboxes" value="9" />9</label>
    <br />
    <label>
        <input type="checkbox" name="checkboxes" value="10" />10</label>
    <br />
</div>

JavaScript

$('input[name=checkboxes]').on('click', function () {
        var lastOneChecked = $('input[name=attending_days]:last:checked').length,
            iLimit = lastOneChecked ? 2 : 4 : 6,
            iChecked = $('input[name=checkboxes]:checked').length;

        if (iChecked > iLimit) {
            return false;
        }

        return true; // added so that anonymous function always returns something
    });

    $('input[name=attending_days]').on('click', function () {
        $('input[name=checkboxes]').prop('checked', false);
    });