Имеем следующую разметку, сгруппированные инпуты по филдсету.
В этом примере одна группа, но на самом деле таких групп гораздо больше.
<fieldset class="standart">
<legend><label><input id="checkboxall1" type="checkbox" value="yes" name="catid1[1]">Вся Москва</label></legend>
<label><input class="checkboxall1" type="checkbox" value="yes" name="catid1[8]">ЮЗАО</label>
<label><input class="checkboxall1" type="checkbox" value="yes" name="catid1[3]">САО</label>
<label><input class="checkboxall1" type="checkbox" value="yes" name="catid1[4]">СВАО</label>
<label><input class="checkboxall1" type="checkbox" value="yes" name="catid1[5]">ВАО</label>
<label><input class="checkboxall1" type="checkbox" value="yes" name="catid1[6]">ЮВАО</label>
</fieldset>
и скрипт
$(document).ready(function(){
$("[class^=checkboxall]").click(function(){
var idp = $(this).attr('class');
$("." + idp).closest('fieldset').find('input:checkbox:checked').length > 0 ?
$("#" + idp).attr('checked','checked') : $("#" + idp).removeAttr('checked','checked');
});
});
Идея в том чтобы снимать/устанавливать чекбокс в легенде филдсета в зависимости есть ли хотябы один установленный чекбокс внутри этой группы.
Пример упрощен, но и в этом случае не получается следующая вещь.
При клике внутри группы чекбокс в легенде устанавливается, а при снятии всех чекбоксов группы, в легенде без изменений(тобиш в установленном состоянии).
Если кто может подсказать в чем моя ошибка, буду очень признателен!