Ваше утверждение вопроса не совсем понятно, но вот грубая модификация, основанная на моем понимании.Похоже, вы хотите снять флажок и не обновлять общую стоимость, если общая сумма превышает приблизительный бюджет.
Проверьте примерный вариант кода ниже и посмотрите, поможет ли это:
<body>
<head>
<script>
//autoSumCheckboxes.js
function UpdateCost() {
var sum = 0;
var gn, elem, approxBudget;
var approxBudget = document.getElementById('approxbudget').value * 1;
var isCostUpdated = true;
for (i=0; i<5; i++) {
gn = 'budget'+i;
elem = document.getElementById(gn);
if (elem.checked == true) { sum += Number(elem.value); }
if (sum > approxBudget) {
elem.checked = false;
isCostUpdated = false;
}
}
sum = 1 * sum.toFixed(2);
if (isCostUpdated)
document.getElementById('totalcost').value = sum;
}
</script>
</head>
<body>
<input name="approxbudget" id='approxbudget' type="text" class="ContactTextBox" value=""/>// put your budget
<input type="checkbox" id='budget0' value="9.99" onclick="UpdateCost()">Game 1 ( 9.99)<br>
<input type="checkbox" id='budget1' value="19.99" onclick="UpdateCost()">Game 2 (19.99)<br>
<input type="checkbox" id='budget2' value="27.50" onclick="UpdateCost()">Game 3 (27.50)<br>
<input type="checkbox" id='budget3' value="45.65" onclick="UpdateCost()">Game 4 (45.65)<br>
<input type="checkbox" id='budget4' value="87.20" onclick="UpdateCost()">Game 5 (87.20)<br>
<input type="text" id="totalcost" value="">// total budget
</body>