これで十分なはずです
var $inputs = $('input');
$('input').change(function() {
if(this.checked)
$inputs.not(this).prop('checked', !this.checked);
});
フィドルをチェック
これは、チェックボックスの数に関係なく機能するはずです。
バニラJS
var inputs = document.getElementsByTagName('input'),
checkboxes = [];
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type === 'checkbox') {
checkboxes.push(inputs[i]);
inputs[i].addEventListener('change', function () {
if (this.checked) {
for (var j = 0; j < checkboxes.length; j++) {
if (checkboxes[j] !== this) {
checkboxes[j].checked = false;
}
}
}
});
}
}
バニラ Js フィドル