У меня есть этот JS, который некоторое время работал нормально, и я понятия не имею, почему он больше не работает сейчас. Предполагается снять флажок Любой (установлен по умолчанию), когда установлен любой другой флажок, и снять флажок с любого, если установлен флажок.
/**
* Define a set of checkbox groups
*/
var locations = new Array('A', 'P', 'PR', 'GR', 'MC', 'F', 'S', 'L', 'LU', 'E');
/**
* Checking the "anyId" checkbox clears the rest of the group. Checking any other clears the "anyId" checkbox.
*/
function toggleBoxes( el, anyId, group ) {
var i;
if ( el.id == anyId ) {
for( i = 0; i < group.length; i++ ){
var cb = document.getElementById(group[i]);
cb.checked = false;
}
} else {
var cb = document.getElementById(anyId);
cb.checked = false;
}
}
А это HTML
<div class="input">
<p><input onClick='toggleBoxes(this, "anyLocation", locations)' id='anyLocation' name="ts-in_pr" value="any" type="checkbox" checked>Any</p>
<p><input onClick='toggleBoxes(this, "anyLocation", locations)' id='A' class="geoloc" name="ts-in_pr[]" value="AR" type="checkbox">Ao</p>
<p><input onClick='toggleBoxes(this, "anyLocation", locations)' id='P' class="geoloc" name="ts-in_pr[]" value="PI" type="checkbox">Pa</p>
<p><input onClick='toggleBoxes(this, "anyLocation", locations)' id='PR' class="geoloc" name="ts-in_pr[]" value="PO" type="checkbox">Po</p>
<p><input onClick='toggleBoxes(this, "anyLocation", locations)' id='GR' class="geoloc" name="ts-in_pr[]" value="GR" type="checkbox">Gr</p>
<p><input onClick='toggleBoxes(this, "anyLocation", locations)' id='MC' class="geoloc" name="ts-in_pr[]" value="MC" type="checkbox">MC</p>
<p><input onClick='toggleBoxes(this, "anyLocation", locations)' id='F' class="geoloc" name="ts-in_pr[]" value="FI" type="checkbox">Fi</p>
<p><input onClick='toggleBoxes(this, "anyLocation", locations)' id='S' class="geoloc" name="ts-in_pr[]" value="SI" type="checkbox">Si</p>
<p><input onClick='toggleBoxes(this, "anyLocation", locations)' id='L' class="geoloc" name="ts-in_pr[]" value="LI" type="checkbox">Li</p>
<p><input onClick='toggleBoxes(this, "anyLocation", locations)' id='LU' class="geoloc" name="ts-in_pr[]" value="LU" type="checkbox">Lu</p>
<p><input onClick='toggleBoxes(this, "anyLocation", locations)' id='E' class="geoloc" name="ts-in_pr[]" value="El" type="checkbox">E</p>
</div>
Что происходит, так это то, что Any не проверяется нормально, когда установлен любой другой флажок, однако, когда он проверен обратно, он снимает флажки только с трех полей прямо ниже (значения Ao, Pa и Po). Все остальные проверяются, и когда они сняты вручную, они также снимают флажок Любой (если он был отмечен). У меня был этот JS на заказ, и я понятия не имею, что с ним не так. Заранее спасибо за любую помощь.