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
HTML
<input type="radio" name="attending_days" value="06-18-13" checked="checked" />Tuesday June 18, 2013
<br>
<input type="radio" name="attending_days" value="06-19-13" />Wednesday June 19, 2013
<br>
<input type="radio" name="attending_days" value="both_days" />Both days
<br>
<div id="checkboxes">
<input type="checkbox" name="checkboxes" value="1" />1
<br />
<input type="checkbox" name="checkboxes" value="2" />2
<br />
<input type="checkbox" name="checkboxes" value="3" />3
<br />
<input type="checkbox" name="checkboxes" value="4" />4
<br />
<input type="checkbox" name="checkboxes" value="5" />5
<br />
<input type="checkbox" name="checkboxes" value="6" />6
<br />
<input type="checkbox" name="checkboxes" value="7" />7
<br />
<input type="checkbox" name="checkboxes" value="8" />8
<br />
<input type="checkbox" name="checkboxes" value="9" />9
<br />
<input type="checkbox" name="checkboxes" value="10" />10
<br />
<input type="checkbox" name="checkboxes" value="11" />11
<br />
<input type="checkbox" name="checkboxes" value="12" />12
<br />
<input type="checkbox" name="checkboxes" value="13" />13
<br />
<input type="checkbox" name="checkboxes" value="14" />14
<br />
<input type="checkbox" name="checkboxes" value="15" />15
<br />
<input type="checkbox" name="checkboxes" value="16" />16
<br />
<input type="checkbox" name="checkboxes" value="17" />17
<br />
<input type="checkbox" name="checkboxes" value="18" />18
<br />
<input type="checkbox" name="checkboxes" value="19" />19
<br />
<input type="checkbox" name="checkboxes" value="20" />20
<br />
</div>
JavaScript
$('input[name=checkboxes]').on('click', function() {
var lastOneChecked = $('input[name=attending_days]:last:checked').length,
iLimit = lastOneChecked ? 8 : 4,
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);
});